首先,我的测试网站网址是
http://localhost:51889/MVTS
尽管我的CurrentUICulture字符串不在上面的URL中,但是当我在Main.cshtml中声明@Url.Action("ActionOne","User")
时,我的脚本标记中存在UI文化字符串。
<script type="text/javascript" src='/MVTS/en-US/User/ActionOne'></script>
我希望能够排除“en-US”,以便上面标记中的“src”如下所示:
<script type="text/javascript" src='/MVTS/User/ActionOne'></script>
任何人都可以告诉我如何实现这一目标吗?我一直在寻找,但尚未找到解决方案。
答案 0 :(得分:1)
检查您的路线定义。可能你有一个带有{culture}
等属性的规则。
您可以删除该属性,或者,如果您需要在应用程序的其他部分中删除该属性,则可以添加另一个没有文化的路径定义,并且代替Url.Action
,您可以使用Url.RouteUrl
(给出一个参数,给出路由定义的名称。)
答案 1 :(得分:0)
我的解决方案结果与众不同。事实证明,由于我的Controller位于名为“Admin”的“区域”中,因此将{lang}添加为
符合我的利益。context.MapRoute(
"Admin_default",
"{lang}/Admin/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
虽然这解决了我遇到的问题,Fabio S给出的答案是对问题的正确解决方案。所以我将他的答案标记为正确答案。