在ASP的最新(RC1)版本中。NET MVC,我怎么得到Html。ActionLink渲染为按钮或图像而不是链接?
当前回答
我喜欢像这样使用Url.Action()和Url.Content():
<a href='@Url.Action("MyAction", "MyController")'>
<img src='@Url.Content("~/Content/Images/MyLinkImage.png")' />
</a>
严格来说,Url。内容只在路径不是您问题答案的一部分时才需要。
感谢@BrianLegg指出这应该使用新的Razor视图语法。示例已相应更新。
其他回答
甚至后来的反应,但我只是遇到了一个类似的问题,最终写我自己的图像链接HtmlHelper扩展。
你可以在我的博客上面的链接中找到它的实现。
只是为了防止有人在寻找一个实现。
借用帕特里克的回答,我发现我必须这样做:
<button onclick="location.href='@Url.Action("Index", "Users")';return false;">Cancel</button>
避免调用表单的post方法。
URL . action()将为您提供大多数Html重载的纯URL。ActionLink,但我认为URL-from-lambda功能只能通过Html使用。ActionLink到目前为止。希望他们会给Url添加类似的重载。在某种程度上采取行动。
你可以说我过于简单,但我就是这么做的:
<a href="<%: Url.Action("ActionName", "ControllerName") %>">
<button>Button Text</button>
</a>
你只需要处理超链接突出显示。我们的用户喜欢它:)
这是一个很晚的回答,但这是我如何将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())
{
<div class="section-header">
<div class="title">
@T("Admin.Users.Users")
</div>
<div class="addAffiliation">
<p />
@Html.ActionLink("" + @T("Admin.Users.AddAffiliation"), "AddAffiliation", "Firms", new { id = (string)@WorkContext.CurrentFirm.ExternalId }, new { @class="btn btn-primary" })
</div>
</div>
}
希望这对大家有所帮助
推荐文章
- Java Server Faces 2.0的主要缺点是什么?
- asp.net mvc:为什么是Html。复选框生成额外的隐藏输入
- 剃刀视图抛出“名称‘模型’在当前上下文中不存在”
- HTML按钮调用MVC控制器和动作方法
- ASP。NET MVC 3 Razor:在head标签中包含JavaScript文件
- ViewModel最佳实践
- 使用Html。ActionLink调用不同控制器上的动作
- 有可能制作一个ASP。NET MVC路由基于子域?
- 如何在cshtml模板中创建函数?
- 如何在ASP中处理复选框。NET MVC窗体?
- 我如何定义一个方法在剃刀?
- 错误:«无法加载类型mvcapapplication»
- 如何从ASP返回200 HTTP状态码。NET MVC 3控制器
- 如何在ASP中找到一个动作的绝对url。净MVC吗?
- MVC 4 Razor文件上传