我嘗試在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