ASP.NET MVC 3 Razor:如何在Javascript字符串变量中获取Action URL


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

产生

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

如果我想在EditNew链接的JavaScript模板中引用/ControllerName/ActionMethodName/id,我该如何将其分配给JavaScript变量?

尝试:

<script type="text/javascript">
    var actionUrl = '@(Html.ActionLink("","ActionMethodName",
                                       "ControllerName",null,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" })
)

相关内容

  • 没有找到相关文章

最新更新