Como faço para usar ASP.NET MVC Html.RouteLink em Visual Basic?
-
11-07-2019 - |
Pergunta
Eu acho que em C # você pode criar em linha casos RouteValueDictionary como este:
<%=Html.RouteLink(Model.Name, "SomeRoute", new { id = Model.Id }) %>
O que é o equivalente em Visual Basic?
Isso funciona, mas é bastante prolixo:
<%
Dim d As New RouteValueDictionary()
d.Add("id", Model.Id)
%>
<%=Html.RouteLink(Model.Name, "SomeRoute", d)%>
Solução
<%=Html.RouteLink(Model.Name, "SomeRoute", New With {.id = Model.Id})%>
Outras dicas
Só para esclarecer, você não está realmente criando um inline RouteValueDictionary com esta sintaxe. Você está criando um novo tipo anônimo, e usando a sobrecarga RouteLink(linkText As String, routeName As String, routeValues As Object)
. Esta reflexão usos de sobrecarga (presumo) internamente para adicionar as propriedades do seu objeto anônimo e seus valores para um RouteValueDictionary para criar o link.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow