Visual BasicでASP.NET MVC Html.RouteLinkを使用するにはどうすればよいですか?
-
11-07-2019 - |
質問
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)%>
解決
<%=Html.RouteLink(Model.Name, "SomeRoute", New With {.id = Model.Id})%>
他のヒント
明確にするために、この構文で実際にインラインRouteValueDictionaryを作成しているわけではありません。新しい匿名型を作成し、 RouteLink(StringとしてのlinkText、StringとしてのrouteName、ObjectとしてのrouteValues)
オーバーロードを使用しています。このオーバーロードはリフレクション(私が推測する)を内部的に使用して匿名オブジェクトのプロパティとその値をRouteValueDictionaryに追加し、リンクを作成します。
所属していません StackOverflow