ASP.NET Razor C#Html.ActionLink创建空链接

A B*_*gus 11 asp.net-mvc

你将如何使用一个Html.ActionLink来呈现以下链接 -

<a href="javascript:void(0);"></a>
Run Code Online (Sandbox Code Playgroud)

这样做可能看起来很愚蠢,但有时我需要一个具有链接功能的链接(翻转指针等),但不会去任何地方.我想使用Html.ActionLink来保持代码一致性.

我尝试了不同的变体,Html.ActionLink但我不断收到有关不允许为空的内容的消息.

Joe*_*Joe 15

@Html.ActionLink(" ", "", "", new {href="javascript:void(0)"})
Run Code Online (Sandbox Code Playgroud)

将呈现为

<a href="javascript:void(0)"> </a>
Run Code Online (Sandbox Code Playgroud)


And*_*ker 6

不要强迫ActionLink做一些不适合的事情,而是考虑创建自己的帮助方法:

public static class MyHtmlExtensions
{
    public static MvcHtmlString EmptyLink(this HtmlHelper helper, string linkText)
    {
        var tag = new TagBuilder("a");
        tag.MergeAttribute("href", "javascript:void(0);");
        tag.SetInnerText(linkText);
        return MvcHtmlString.Create(tag.ToString());
    }
}
Run Code Online (Sandbox Code Playgroud)

将命名空间导入视图,您将能够执行此操作:

@Html.EmptyLink("My link text")
Run Code Online (Sandbox Code Playgroud)