2011-05-23 46 views
22
@(Html.ActionLink("Link Label", 
    "ActionMethodName", 
    "ControllerName", 
    null, // parameter object, then html object 
    null)) 

產生ASP.NET MVC 3 Razor:如何在Javascript字符串變量中獲取Action URL?

<a href="/ControllerName/ActionMethodName/">Link Label</a> 

如果我想引用/ControllerName/ActionMethodName/id在爲EditNew鏈接一個JavaScript模板,我將如何分配是一個JavaScript變量?

嘗試:

<script type="text/javascript"> 
    var actionUrl = '@(Html.ActionLink("","ActionMethodName", 
             "ControllerName",null,null))'; 
</script> 

,但在這一點上,我將不得不使用Javascript功能來刪除字符串中不需要的<a href...字符。

回答

40

@Url.Action("ActionMethodName", "ControllerName")會生成一條路徑。

+2

如果有參數/數據對象會怎麼樣? – usefulBee 2015-09-15 14:56:18

10
<script type="text/javascript"> 
    var actionUrl = @Html.Raw(Json.Encode(Url.Action("ActionMethodName", "ControllerName"))); 
</script> 

,或者如果你已經有這個ActionLink的地方內頁,你可以直接使用它:

var actionUrl = $('#mylink').attr('href'); 

只要確保,以便提供一個唯一的ID來簡化選擇:

@(Html.ActionLink(
    "Link Label", 
    "ActionMethodName", 
    "ControllerName", 
    null, 
    new { id = "mylink" }) 
) 
相關問題