如何在CSS.NET MVC中将CSS类应用于Html.ActionLink?


104

我正在使用VB.NET构建ASP.NET MVC应用程序,并且正在尝试使用以下代码将CSS类应用于:Html.ActionLink

<%=Html.ActionLink("Home", "Index", "Home", new {@class = "tab" })%>

但是,当我运行代码时,收到以下错误:

编译器错误消息:BC30988:键入或预期为“ With”。

我是MVC的新手,实际上我不太了解自己在做什么,所以我在其他地方使用基于示例的代码时,看不到那里出了什么问题。


Html.ActionLink方法的(字符串,字符串,字符串,对象)没有这样的签名。
twk 2009年

无论如何,使用匿名类就可以做到这一点?
3Dave 2010年

Answers:


48

它是:

<%=Html.ActionLink("Home", "Index", MyRouteValObj, new with {.class = "tab" })%>

在VB.net中,您可以使用设置匿名类型

new with {.class = "tab" }

并指出,您的第三个参数应该是一个对象(也可以是匿名类型)。


153

@ewomack为C#提供了一个很好的答案,除非您不需要额外的对象值。就我而言,我最终使用了类似于以下内容的东西:

@Html.ActionLink("Delete", "DeleteList", "List", new object { },
new { @class = "delete"})

18
如果不需要路由值,也可以null作为第四个参数传递:@Html.ActionLink("Delete", "DeleteList", "List", null, new { @class = "delete"})
xec

56

在C#中,它也可以使用null作为第四个参数。

@Html.ActionLink( "Front Page", "Index", "Home", null, new { @class = "MenuButtons" })

这很有用,因为当您添加null时,您将获得标准且干净的URL请求
Sumanstm21 '18

33

此语法在Razor的MVC 3中为我工作:

@Html.ActionLink("Delete", "DeleteList", "List", new { ID = item.ID, ListID = item.id }, new {@class= "delete"})

17

这适用于MVC 5

@Html.ActionLink("LinkText", "ActionName", new { id = item.id }, new { @class = "btn btn-success" })

用于在MVC 5 ActionLink中使用以下参数:@ Html.ActionLink(“链接的文本”,“ Action”,“控制器名称”,新的{myParam =“ XXX”},新的{@style =“ color:black” })
mggSoft

3

在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>

0

删除了c#...这是vb.net

<%=Html.ActionLink("Home", "Index", "Home", New With {.class = "tab"}, Nothing)%>

Vb.net的语法错误,并且没有带有此签名的构造函数
Eduardo Molteni

sorrry ...默认情况下......我把C#..应该更小心读的问题..
拉什·皮莱
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.