2013-08-22 38 views
0

如何使用JQuery創建MVC RouteLinks(不是ActionLinks)?使用JQuery創建MVC RouteLinks

使用jquery,我想生成包含RouteLink列表的html,然後將這些鏈接放入<div>

像這樣的事情

var myLinks = '@Html.RouteLink("MyAction1", "MyController1", null, new { id = "MyId1" })' + '@Html.RouteLink("MyAction2", "MyController2", null, new { id = "MyId2" })' 

$("#myDiv").html(myLinks); 

那當然,不工作。

RouteLink有沒有像Url.Action("MyAction","MyController")那麼我可以指定一個路由名稱?

+0

你不知道。您使用ASP.Net MVC框架創建RouteLink。 jQuery是一個與MVC隔離的客戶端JavaScript庫。 ASP.Net框架不會執行您的代碼,因爲您的代碼在瀏覽器中執行,而不是在ASP.Net所在的服務器上執行。 –

+0

謝謝克里斯。 RouteLinks有沒有像Url.Action(「MyAction」,「MyController」)? –

回答

0

如果您在.cshtml文件中執行該操作,而不是在.js文件中執行該操作,該操作將會起作用。

另一種選擇是在.js文件中有一個將鏈接作爲參數的方法,然後在.cshtml文件中只傳入鏈接。

的.js:

功能DoSomething的(鏈接){$( '#myDiv')HTML(鏈接); }

.cshtml

<script> 
    doSomething('@Html.RouteLink("MyAction1", "MyController1", null, new { id = "MyId1" })' + '@Html.RouteLink("MyAction2", "MyController2", null, new { id = "MyId2" })'); 
</script> 
+0

感謝奎蒂。 RouteLinks有沒有像Url.Action(「MyAction」,「MyController」)? –

+0

Url.RouteUrl(「urlName」,new {id =「MyId2」}) –