Есть ли способ принудительного использования именованного маршрута в ASP.NET MVC при использовании Form.Begin. Я все больше и больше узнаю о маршрутизации и боюсь, что это может быть очень хрупким, если вы просто измените порядок или параметры будут иметь значения по умолчанию.
<% Form.Begin(...) %> <!-- no overload for providing a route name --%>
Кажется, что для именованного маршрута не возникает перегрузки для начала формы, поэтому лучшее, что я мог придумать, это:
<form action="/Products/Command/ViewProduct" method="post">
Мне интересно, является ли эта пропущенная перегрузка недосмотром (бета-версия прямо сейчас), есть ли для этого причина или альтернативный способ генерации URL.
Я пытался использовать RouteLink и встраивать его в тег Form, но RouteLink создает мне полный HTML-код для тега <A>
, который не годится.
action="<%= Ajax.RouteLink("Update Status", "product-route-short", new { action = "GetStatus", sku = "" }, new AjaxOptions { UpdateTargetId = "status" })%>"
Какие альтернативы у меня есть для генерации URL-адреса из именованного маршрута.
Стоит ли сообщать об этой отсутствующей перегрузке как о проблеме?