2009-03-12 5 views
1

Je pense en C#, vous pouvez créer des instances RouteValueDictionary en ligne comme celui-ci:Comment utiliser ASP.NET MVC Html.RouteLink dans Visual Basic?

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

Quel est l'équivalent dans Visual Basic?

Cela fonctionne, mais est assez verbeux:

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

<%=Html.RouteLink(Model.Name, "SomeRoute", d)%> 

Répondre

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

Juste pour clarifier les choses, vous ne créez pas en fait 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.

Questions connexes