Question

Je pense qu'en C #, vous pouvez créer des instances en ligne de RouteValueDictionary comme ceci:

<%=Html.RouteLink(Model.Name, "SomeRoute", new { id = Model.Id }) %>

Quel est l'équivalent dans Visual Basic?

Cela fonctionne, mais reste assez verbeux:

<%
    Dim d As New RouteValueDictionary()
    d.Add("id", Model.Id)
%>

<%=Html.RouteLink(Model.Name, "SomeRoute", d)%>
Était-ce utile?

La solution

<%=Html.RouteLink(Model.Name, "SomeRoute", New With {.id = Model.Id})%>

Autres conseils

Juste pour clarifier, vous ne créez pas réellement un RouteValueDictionary en ligne avec cette syntaxe. Vous créez un nouveau type anonyme et utilisez la surcharge RouteLink (linkText As String, routeName As String, routeValues ??As Object) . Cette surcharge utilise la réflexion (je suppose) en interne pour ajouter les propriétés de votre objet anonyme et leurs valeurs à un RouteValueDictionary pour créer le lien.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top