问题描述
|
@(Html.ActionLink(\"Link Label\",\"ActionMethodName\",\"ControllerName\",null,// parameter object,then html object
null))
产生
<a href=\"/ControllerName/ActionMethodName/\">Link Label</a>
如果要在JavaScript模板中为Edit
或New
链接引用/ControllerName/ActionMethodName/id
,我该如何将其分配给JavaScript变量?
尝试:
<script type=\"text/javascript\">
var actionUrl = \'@(Html.ActionLink(\"\",null))\';
</script>
但是到那时,我将不得不使用Javascript删除字符串中不需要的<a href...
字符。
解决方法
@Url.Action(\"ActionMethodName\",\"ControllerName\")
将生成一条路径。
,<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\" })
)