0
我有一個項目需要將新參數添加到其中一個操作。當我將參數添加到路線時,該項目停止工作。ASP.NET:向路由添加參數將停止BeginForm的行動
這是它工作時的樣子。
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id1}/{id2}/{id3}",
defaults: new { controller = "ControllerName", action = "ActionName", id1 = UrlParameter.Optional, id2 = UrlParameter.Optional, id3 = UrlParameter.Optional }
);
}
然後我添加新的參數id4和項目中斷。
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id1}/{id2}/{id3}/{id4}",
defaults: new { controller = "ControllerName", action = "ActionName", id1 = UrlParameter.Optional, id2 = UrlParameter.Optional, id3 = UrlParameter.Optional, id4 = UrlParameter.Optional }
);
}
我正在使用網址http://localhost:58481/ControllerName/ActionName/1234567/123456789。
我現在的表單行爲沒有任何價值。如果我將id4取出,表單屬性操作值將返回。
編輯1
HTML
<div class="row">
@using (Html.BeginForm("MyAction", "MyController", FormMethod.Post, new { @class = "sky-form" }))
{
//more markup and code in here
}
</div>
SOURCE
<div class="row">
<form class="sky-form" action="" method="post">
<!-- More Markup and Code Here -->
</form>
</div>
行動
public ActionResult MyAction(AClass view)
{
//code here
}