href.ActionLink Javascript in href

时间:2017-02-17 17:24:06

标签: c# asp.net asp.net-mvc razor asp.net-mvc-5

我试图通过以下方式通过帮助方法生成ActionLink:

return helper.ActionLink(linkText, actionName, controllerName, route, attributes);

我传入的值如下:

new ActionLinkModel
{
    LinkText = "Help",
    ElementId = "HelpLink",
    ActionName = "javascript:void(0);",
    ControllerName = "",
    HtmlAttributes = new {onclick = "RunSomeFunction(this, 'Something');"}
}

本质上,模型会映射到您在第一行代码中看到的值。

我在HTML页面上获得的输出是:

<a href="/MyWebsite/MyController/javascript%3avoid(0)%3b" id="HelpLink" onclick="RunSomeFunction(this, 'Something');">Help</a>

我希望输出为:

<a href="javascript:void(0);" id="HelpLink" onclick="RunSomeFunction(this, 'Something');">Help</a>

我将如何实现这一目标?使用ActionLink辅助方法的想法允许我循环浏览菜单并将其打印出来,并让菜单成为后端的控制器。

1 个答案:

答案 0 :(得分:0)

您可以尝试在属性

中手动添加href
new ActionLinkModel
{
    LinkText = "Help",
    ElementId = "HelpLink",
    ActionName = "",
    ControllerName = "",
    HtmlAttributes = new {@href="javascript:void(0);",onclick = "RunSomeFunction(this, 'Something');"}
}