【问题标题】:MVC action works only at localhostMVC 操作仅适用于本地主机
【发布时间】:2015-03-19 18:06:53
【问题描述】:

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',
    });

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

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

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

【问题讨论】:

  • 如果你在代码中使用生产服务器的绝对路径只是为了验证它是否命中呢?
  • 已经用过,结果一样...

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


【解决方案1】:

也许你可以尝试使用 url action helper 来处理 ajax action url

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

【讨论】:

    猜你喜欢
    • 2018-11-16
    • 2017-02-25
    • 2023-04-05
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-30
    • 2012-10-08
    相关资源
    最近更新 更多