Frage

Ich denke, in C # können Sie in-line erstellen Instanzen Routevaluedictionary wie folgt aus:

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

Was ist das Äquivalent in Visual Basic?

Dies funktioniert, aber ist ziemlich wortreich:

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

<%=Html.RouteLink(Model.Name, "SomeRoute", d)%>
War es hilfreich?

Lösung

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

Andere Tipps

Nur um zu klären, sind Sie nicht eigentlich ein Inline-Routevaluedictionary mit dieser Syntax zu erstellen. Sie sind eine neue anonyme Art zu schaffen, und mit Hilfe der RouteLink(linkText As String, routeName As String, routeValues As Object) Überlastung. Diese Überladung verwendet Reflektion (ich nehme an) intern die Eigenschaften Ihres anonymes Objekt und deren Werte zu einem Routevaluedictionary hinzuzufügen, um den Link zu erstellen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top