Url路由问题-Asp.Net MVC Razor
本文关键字:MVC Razor Net -Asp 路由 问题 Url | 更新日期: 2023-09-27 18:27:03
我使用"/Controller/ActionName"url格式进行ajax调用。此模式与我的开发服务器(具有此模式)配合良好
/Controller/ActionName
我的应用程序已部署到IIS,具有以下url模式
/domain/Controller/ActionName
因此,每当我调用资源时,它都会路由到/Controller/ActionName,而不是那里的/domain/Controllet/ActionName,从而导致404错误。通过修改routeconfiguration,使其在devl和IIS上都能工作,有什么快速解决方案吗。
如果将相对url"手动"定义为字符串,请尝试不要在开头使用"/"。
"Controller/ActionName"
编辑
我过去所做的是包含一个Partial Razor View,它负责使用@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上托管该应用程序。
我无法从你的问题和评论中看出你的情况有什么不同。如果这不能解决问题,请添加有关设置的更多信息。