1

C# では、次のようなインラインの RouteValueDictionary インスタンスを作成できると思います。

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

Visual Basic で同等のものは何ですか?

これは機能しますが、非常に冗長です。

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

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

2 に答える 2

2
<%=Html.RouteLink(Model.Name, "SomeRoute", New With {.id = Model.Id})%>
于 2009-03-12T18:43:36.387 に答える
1

明確にするために、実際にはこの構文でインライン RouteValueDictionary を作成しているわけではありません。新しい匿名型を作成し、RouteLink(linkText As String, routeName As String, routeValues As Object)オーバーロードを使用しています。このオーバーロードは、リフレクション (私が推測) を内部的に使用して、匿名オブジェクトのプロパティとその値を RouteValueDictionary に追加し、リンクを作成します。

于 2009-03-19T03:19:15.850 に答える