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" })
)
精彩评论