MVC操作仅适用于localhost

时间:2015-03-19 18:06:54

标签: c# ajax asp.net-mvc iis model-view-controller

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

我在View中使用带有jEditable插件的AJAX,将POST查询发送到我的控制器操作:

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

我在Controller中有更新操作:

  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;
    }

问题是,我在localhost的dev环境中启动项目并且它运行得很好,但是当我将它部署到生产公共服务器时,对/ Calendar / Update的AJAX调用显示404错误。我在所有Internet上搜索过,复制了/ bin中所有使用过的库,编辑了通配符映射,使用了runAllManagedModulesForAllRequests。没有结果。

1 个答案:

答案 0 :(得分:4)

也许你可以尝试使用url action helper for ajax action url

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