Como posso aplicar uma classe CSS para Html.ActionLink no ASP.NET MVC?
-
22-07-2019 - |
Pergunta
Estou construindo uma ASP.NET MVC aplicativo, usando VB.NET e eu estou tentando aplicar uma classe css a um Html.ActionLink
usando o código:
<%=Html.ActionLink("Home", "Index", "Home", new {@class = "tab" })%>
Mas quando eu executar o código de eu receber o abaixo de erro:
Compiler Mensagem de erro: BC30988: Tipo ou 'Com' esperado
.
Eu sou novo para MVC e realmente não têm muito de uma pista que eu estou fazendo, então não posso ver o que está errado lá como eu estou usando o código com base de um exemplo em outro lugar .
Solução
É:
<%=Html.ActionLink("Home", "Index", MyRouteValObj, new with {.class = "tab" })%>
Se VB.net você definir um tipo anônimo usando
new with {.class = "tab" }
e, como outro ponto de saída, o seu terceiro parâmetro deve ser um objeto (poderia ser um tipo anônimo, também).
Outras dicas
@ewomack tem uma grande resposta para C #, a menos que você não precisa de valores de objetos extras. No meu caso, eu acabei usando algo semelhante a:
@Html.ActionLink("Delete", "DeleteList", "List", new object { },
new { @class = "delete"})
Em C # também funciona com um nulo como o quarto parâmetro.
@Html.ActionLink( "Front Page", "Index", "Home", null, new { @class = "MenuButtons" })
Esta sintaxe trabalhou para mim em MVC 3 com Navalha:
@Html.ActionLink("Delete", "DeleteList", "List", new { ID = item.ID, ListID = item.id }, new {@class= "delete"})
Isso funciona para MVC 5
@Html.ActionLink("LinkText", "ActionName", new { id = item.id }, new { @class = "btn btn-success" })
Em VB.NET
<%=Html.ActionLink("Contact Us", "ContactUs", "Home", Nothing, New With {.class = "link"})%>
Isto irá atribuir classe css "link" para o Fale Conosco.
Isso irá gerar HTML a seguir:
<a class="link" href="www.domain.com/Home/ContactUs">Contact Us</a>
excluiu o c # ... aqui é o vb.net
<%=Html.ActionLink("Home", "Index", "Home", New With {.class = "tab"}, Nothing)%>