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