当前位置:  开发笔记 > 后端 > 正文

Html.ActionLink作为按钮或图像,而不是链接

如何解决《Html.ActionLink作为按钮或图像,而不是链接》经验,为你挑选了13个好方法。

在ASP.NET MVC的最新版本(RC1)中,如何将Html.ActionLink呈现为按钮或图像而不是链接?



1> jslatts..:

我喜欢使用Url.Action()和Url.Content(),如下所示:


    

严格来说,只有路径所需的Url.Content才不是你问题答案的一部分.

感谢@BrianLegg指出这应该使用新的Razor视图语法.示例已相应更新.


这非常有效.请注意,在MVC5中语法已经改变,应该是.谢谢

2> Mark..:

延迟响应但您可以保持简单并将CSS类应用于htmlAttributes对象.

<%= Html.ActionLink("Button Name", "Index", null, new { @class="classname" }) %>

然后在样式表中创建一个类

a.classname
{
    background: url(../Images/image.gif) no-repeat top left;
     display: block;
     width: 150px;
     height: 150px;
     text-indent: -9999px; /* hides the link text */
}


这在各种方面都很糟糕,它并不适用于所有浏览器,并且您使用副作用作为功能.女巫使它成为一种非常糟糕的做法,不要使用它.仅仅因为它的工作原理并不能使它成为一个好的解决方案.
@Mark - jslatts解决方案是正确的,它不会在IE11中工作,只是因为它在当前浏览器中工作,这是一个非常糟糕的做法,因为你使用副作用作为功能,如果实现改变副作用将停止工作.
这对我来说非常合适,但您可能需要使用routeValues对象替换null,具体取决于您链接的位置.

3> DevDave..:

借用Patrick的回答,我发现我必须这样做:


避免调用表单的post方法.



4> agAus..:

叫我简单化,但我只是这样做:

">
    

你只需要处理超链接突出显示.我们的用户喜欢它:)


但是你不应该将按钮嵌入元素中,反之亦然.至少它不是在HTML 5中实现它的有效方式

5> 小智..:

简单地说:




6> Emperor 2052..:

一个迟到的答案,但这就是我将ActionLink变成按钮的方式.我们在项目中使用Bootstrap,因为它很方便.没关系@T,因为它只是我们正在使用的翻译器.

@Html.Actionlink("Some_button_text", "ActionMethod", "Controller", "Optional parameter", "html_code_you_want_to_apply_to_the_actionlink");

上面给出了这样的链接,如下图所示:

localhost:XXXXX/Firms/AddAffiliation/F0500

图片展示按钮与引导程序

在我看来:

@using (Html.BeginForm())
{
@T("Admin.Users.Users")

@Html.ActionLink("" + @T("Admin.Users.AddAffiliation"), "AddAffiliation", "Firms", new { id = (string)@WorkContext.CurrentFirm.ExternalId }, new { @class="btn btn-primary" })

}

希望这有助于某人



7> Amir Chatrba..:

如果您不想使用链接,请使用按钮.你也可以添加图像到按钮:


type ="button"执行您的操作,而不是提交表单.



8> Cameron Forw..:

使用bootstrap这是创建链接到控制器操作的最短且最干净的方法,该控制器操作显示为动态按钮:

Click Me

或者使用Html助手:

@Html.ActionLink("Click Me", "Action", "Controller", new { @class = "btn btn-primary" })



9> Mehrdad Afsh..:

你不能这样做Html.ActionLink.您应该使用Url.RouteUrl并使用URL来构造所需的元素.



10> 小智..:



11> Mirko..:

甚至以后的回复,但我刚遇到类似的问题,最后写了我自己的Image链接HtmlHelper扩展.

您可以在我上面的链接中找到它的实现.

刚刚添加,以防有人正在寻找一个实现.


链接现在似乎无效

12> 小智..:

一个简单的方法可以将你的Html.ActionLink变成一个按钮(只要你插入了BootStrap - 你可能拥有它)就像这样:

@Html.ActionLink("Button text", "ActionName", "ControllerName", new { @class = "btn btn-primary" })



13> Andrew Day..:
  • Users View
  • 显示带有链接的图标

    推荐阅读
    Chloemw
    这个屌丝很懒,什么也没留下!
    DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
    Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有