使用 Form.Begin 时,有没有办法在 ASP.NET MVC 中强制使用命名路由。我越来越多地了解路由,并且害怕如果您只是更改顺序或参数是否具有默认值,它可能会非常脆弱。
<% Form.Begin(...) %> <!-- no overload for providing a route name --%>
用于开始表单的命名路由似乎没有过载,所以我能想到的最好的方法是:
<form action="/Products/Command/ViewProduct" method="post">
我想知道这个丢失的重载是否是疏忽(现在是测试版),是否有原因或生成 URL 的替代方法。
我尝试使用 RouteLink 并将其嵌入到 Form 标签中,但是 RouteLink 为我创建了一个<A>
不好的标签的完整 HTML。
action="<%= Ajax.RouteLink("Update Status", "product-route-short", new { action = "GetStatus", sku = "" }, new AjaxOptions { UpdateTargetId = "status" })%>"
我必须从命名路由生成 URL 的替代方法。
我应该将这个丢失的超载报告为问题吗?