如何在 ASP.NET MVC 中将 CSS 类应用于 Html.ActionLink?
Posted
技术标签:
【中文标题】如何在 ASP.NET MVC 中将 CSS 类应用于 Html.ActionLink?【英文标题】:How do I apply a CSS class to Html.ActionLink in ASP.NET MVC? 【发布时间】:2010-11-29 11:48:52 【问题描述】:我正在使用 VB.NET 构建一个 ASP.NET MVC 应用程序,并且我正在尝试使用代码将 css 类应用于 html.ActionLink
:
<%=Html.ActionLink("Home", "Index", "Home", new @class = "tab" )%>
但是当我运行代码时,我收到以下错误:
编译器错误消息:BC30988: Type or 'With' expected.
我是 MVC 的新手,我真的不知道我在做什么,所以我看不出那里有什么问题,因为我正在使用基于其他地方示例的代码.
【问题讨论】:
Html.ActionLink 方法没有这样的签名(字符串,字符串,字符串,对象)。 有没有办法做到这一点不使用匿名类? 【参考方案1】:@ewomack 为 C# 提供了很好的答案,除非您不需要额外的对象值。就我而言,我最终使用了类似的东西:
@Html.ActionLink("Delete", "DeleteList", "List", new object ,
new @class = "delete")
【讨论】:
如果您不需要路由值,您也可以将null
作为第四个参数传递:@Html.ActionLink("Delete", "DeleteList", "List", null, new @class = "delete")
【参考方案2】:
在 C# 中,它也可以使用 null 作为第四个参数。
@Html.ActionLink( "Front Page", "Index", "Home", null, new @class = "MenuButtons" )
【讨论】:
这很有帮助,因为当您添加 null 时,您将获得一个标准且干净的 url 请求【参考方案3】:它是:
<%=Html.ActionLink("Home", "Index", MyRouteValObj, new with .class = "tab" )%>
在 VB.net 中,您使用设置匿名类型
new with .class = "tab"
并且,正如其他指出的那样,您的第三个参数应该是一个对象(也可以是匿名类型)。
【讨论】:
【参考方案4】:这种语法在 MVC 3 和 Razor 中对我有用:
@Html.ActionLink("Delete", "DeleteList", "List", new ID = item.ID, ListID = item.id , new @class= "delete")
【讨论】:
【参考方案5】:这适用于 MVC 5
@Html.ActionLink("LinkText", "ActionName", new id = item.id , new @class = "btn btn-success" )
【讨论】:
用于带有参数的 MVC 5 ActionLink:@Html.ActionLink("Text of the link", "Action", "Controller name", new myParam = "XXX" , new @style = "颜色:黑色" ) @mggSoft 是的!这对我使用 MVC 5 有用。谢谢【参考方案6】:在 VB.NET 中
<%=Html.ActionLink("Contact Us", "ContactUs", "Home", Nothing, New With .class = "link")%>
这会将 css 类“链接”分配给联系我们。
这将生成以下 HTML:
<a class="link" href="www.domain.com/Home/ContactUs">Contact Us</a>
【讨论】:
以上是关于如何在 ASP.NET MVC 中将 CSS 类应用于 Html.ActionLink?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 ASP.NET CORE 5.0 MVC 中将登录设置为默认路由
如何在 asp.net mvc4 中将 OpenID 迁移到 OAuth
如何在asp.net mvc中将Webcontrol表导出到excel