我在一个叫做的区域有一个控制器Admin
public class SiteVisitController : Controller
{
public ViewResult ReadyForCompletion() { ... }
public ViewResult CompleteAndExport() { ... }
}
和一个视图 ( ReadyForCompletion.cshtml
) 回发到同一类上的不同控制器操作
@using (Html.BeginForm( "CompleteAndExport", "SiteVisit" ))
{
<input type="submit" value="Complete & Export" />
}
为这个表单生成的 HTML 有一个空白动作:
<form action="" method="post"> <input type="submit" value="Complete & Export" />
</form>
我想知道为什么这有一个空白动作?有关更多信息,我还添加了
@Url.RouteUrl(new { controller = "ReadyForCompletion", action = "SiteVisit", area = "Admin" })
这也打印出一个空字符串。此外,如果我使用空Html.BeginForm()
,它会生成正确的操作。
注册的路线是
context.MapRoute(
"Admin_manyParams",
"Admin/{controller}/{action}/{id}/{actionId}",
new { action = "Index", id = UrlParameter.Optional, actionId = UrlParameter.Optional }
);