繁体   English   中英

网址路由问题-Asp.Net MVC剃刀

[英]Issue with Url routing - Asp.Net MVC Razor

我的ajax调用使用“ / Controller / ActionName” URL格式。 此模式与具有此模式的开发服务器一起正常工作

/ Controller / ActionName

我的应用程序已使用以下URL模式部署到IIS

/ domain / Controller / ActionName

因此,每当我调用资源时,它都会路由到/ Controller / ActionName而不是/ domain / Controller / ActionName,从而导致404错误。 是否可以通过修改routeconfiguration使之同时在devl和IIS上运行来解决此问题。

如果您将相对网址“手动”定义为字符串,请尝试不要在开头使用“ /”。

"Controller/ActionName"

编辑

我过去所做的事情包括部分剃刀视图,该视图负责使用@ Url.Action()设置URL。

部分-共享/JavascriptUrlsPartial.cshtml

<script type="text/javascript">
  (function ($, app) {

    app.urls =
    {
      actionA: '@Url.Action("Controller", "ActionA")',
    };

  })(jQuery, app = app || {});

</script>

然后,您在javascript中引用呈现的url。

$.ajax({
  url: app.urls.actionA,
  //etc
})

然后,此部分包含在_Layout.cshtml中。

在我的Razor视图中,我们有如下的Ajax调用:

        var model = { searchId: searchId, newSearchName: searchName, newSearchDescription: description };
        $.ajax({
            url: '@Url.Action("Rename", "Search")',
            contentType: 'application/json; charset=utf-8',
            type: 'POST',
            dataType: 'html',
            data: JSON.stringify(model)
        })

在本地或生产环境中,我们没有做任何特别的事情。 我们将应用程序托管在IIS 7.5上。

我无法从您的问题和评论中看出您的情况有何不同。 如果这样做不能解决问题,请在您的设置中添加更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM