MVC 操作仅适用于本地主机

MVC action works only at localhost

Windows 2012,IIS 8,ASP MVC,VS 2013,.NET 4.5。

我在视图中有 AJAX 和 jEditable 插件,发送 POST 查询到我的控制器操作:

    $('.edit').editable('/Calendar/Update', {
        type: 'textarea',
        select: true,
        submit: 'OK',
        cancel: 'cancel',
    });

我在控制器中有更新操作:

  public string Update (DateTime datetime, string value, string id)
    {
        var updateQuery = (from i in db.tbl_Calendars
                          where i.date == datetime
                          select i).FirstOrDefault();

       ...


        db.SaveChanges(); 
        return value;
    }

问题是,我在本地主机的开发环境中启动项目并且它运行良好,但是当我将它部署到生产 public 服务器时,AJAX 调用 /Calendar/Update 显示我的 404 错误。我搜索了整个 Internet,将所有使用过的库复制到 /bin 中,编辑了通配符映射,使用了 runAllManagedModulesForAllRequests。没有结果。

也许你可以尝试使用 url 动作助手来实现 ajax 动作 url

$('.edit').editable('@Url.Action("Update", "Calendar")', {
        type: 'textarea',
        select: true,
        submit: 'OK',
        cancel: 'cancel',
    });