[英]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.