开发者

ASP.NET MVC 3 Razor: How to get Action URL in a Javascript string variable?

@(Html.ActionLink("Link Label", 
    "ActionMethodName", 
    "ControllerName", 
    null, // parameter object, then html object
    null))

produces

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

If I want to reference the /ControllerName/ActionMethodName/id in a JavaScript template for the Edit or New link, how would I assign that to a JavaScript variable?

attempt:

<script type="text/javascript">
    var actionUrl = '@(Html.ActionLink("","ActionMethodName",
                                       "Co开发者_JS百科ntrollerName",null,null))';
</script>

but at that point, I would have to use Javascript to remove the unwanted <a href... characters in the string.


@Url.Action("ActionMethodName", "ControllerName") will generate a path.


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

or if you already have this actionLink somewhere inside the page you could use it directly:

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

Just ensure to provide a unique id in order to simplify the selection:

@(Html.ActionLink(
    "Link Label", 
    "ActionMethodName", 
    "ControllerName", 
    null,
    new { id = "mylink" })
)
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜