我尝试在javascript中使用带动态字符串的URLHelp.RouteUrl。我想这样 -带动态动作的ASP.NET MVC RouteUrl
function MyFun(action, param){
var strPass = "MyController/" + action + "?param1=" + param;
Windows.Location.href = "<%=Url.RouteUrl(" + strPass + ")%>";
}
它不起作用。我错过了什么?我们有没有其他的方式在ASP.NET MVC中以类似的方式工作?
感谢,
其他信息 -
我尝试了上面的方法,因为我从我的应用程序的问题 - 主要页面有"http://myserver/myapplicaiton/mycontroller/myaction"
当我使用"Windows.Location.href ="MyController/MyAction"
正确返回。但有双控制器的下一页出现"http://myserver/myapplication/mycontroller/mycontroller/myaction"
。
导致此路由问题的原因是什么?
这就是我正在使用的。但这种方式无法正确解析我的网站根目录。我想要一种类似于URL.Content(“〜/”)的方式来获取正确的路径。 – Don 2013-02-13 04:14:45
尝试使用“〜/ MyController /”+ action +“?param1 =”+ param – Cris 2013-02-13 04:17:12
@Don,我很佩服您遵循Best Practice的愿望,但您无法动态使用Url.Content。所有Razor语法都是在JS启动之前预渲染的。但是,即使这不是最佳实践,也不要害怕使用简单的字符串路径。像这样的动态行为需要稍微弯曲惯例。 – 2013-02-13 04:17:28