Вопрос

Я думаю, что в 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(linkText As String, routeName As String, routeValues As Object) перегрузка.Эта перегрузка использует отражение (я предполагаю) внутренне, чтобы добавить свойства вашего анонимного объекта и их значения в RouteValueDictionary для создания ссылки.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top