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)%>
¿Fue útil?

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
scroll top