如何在ASP.NETMVC中将CSS类应用于Html.ActionLink?

2eafrhcq  于 2022-12-01  发布在  .NET
关注(0)|答案(7)|浏览(168)

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

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

但当我运行代码时,我收到以下错误:
编译器错误消息:BC30988:必须是型别或'With'。
我是 MVC 的新手,真的不知道我在做什么,所以我看不出哪里出了问题,因为我使用的是基于其他地方的示例的代码。

sgtfey8w

sgtfey8w1#

@ewomack对于C#来说是一个很好的答案,除非你不需要额外的对象值。在我的例子中,我最终使用了类似于以下的代码:

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

klh5stk12#

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

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

cbeh67ev3#

它是:

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

在www.example.com中VB.net,您可以使用

new with {.class = "tab" }

而且,正如其他人所指出,第三个参数应该是一个对象(也可以是匿名类型)。

wgmfuz8q

wgmfuz8q4#

下面的语法对我在使用Razor的MVC 3中很有效:

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

9jyewag05#

这适用于MVC 5

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

qcuzuvrc6#

在VB.NET中

<%=Html.ActionLink("Contact Us", "ContactUs", "Home", Nothing, New With {.class = "link"})%>

这会将css类“link”分配给“联系我们”。
这将生成以下HTML:

<a class="link" href="www.domain.com/Home/ContactUs">Contact Us</a>
u1ehiz5o

u1ehiz5o7#

在MVC core 6中测试后,这是可行的

  • 良好的代码可读性
  • 它允许您设置其他html属性,例如,我使用目标属性打开新选项卡
  • 它允许您设置类值,例如,我使用引导程序将超链接转换为按钮
  • 它允许您应用自定义内联样式
@Html.ActionLink(
             linkText: "Button\Hyperlink Label",
             actionName: "Index",
             controllerName: "Home",
             routeValues: new { Id = @item.ToString() },
             htmlAttributes: new { target = "_blank",@class="btn" , @style="background-color:lightblue;margin: 10px 30px;"})

相关问题