¿Cómo uso ASP.NET MVC Html.RouteLink en Visual Basic?
-
11-07-2019 - |
Pregunta
Creo que en C # puede crear instancias de RouteValueDictionary en línea como esta:
<%=Html.RouteLink(Model.Name, "SomeRoute", new { id = Model.Id }) %>
¿Cuál es el equivalente en Visual Basic?
Esto funciona, pero es bastante prolijo:
<%
Dim d As New RouteValueDictionary()
d.Add("id", Model.Id)
%>
<%=Html.RouteLink(Model.Name, "SomeRoute", d)%>
Solución
<%=Html.RouteLink(Model.Name, "SomeRoute", New With {.id = Model.Id})%>
Otros consejos
Solo para aclarar, en realidad no está creando un RouteValueDictionary en línea con esta sintaxis. Está creando un nuevo tipo anónimo y está utilizando la sobrecarga RouteLink (linkText As String, routeName As String, routeValues ??As Object)
. Esta sobrecarga utiliza la reflexión (supongo) internamente para agregar las propiedades de su objeto anónimo y sus valores a un RouteValueDictionary para crear el enlace.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow