Iは、エリア内のコントローラはなぜHtml.BeginFormは空のアクションを生成しますか?
public class SiteVisitController : Controller
{
public ViewResult ReadyForCompletion() { ... }
public ViewResult CompleteAndExport() { ... }
}
Admin
と同じクラスの異なるコントローラのアクションに戻ってポストを有するビュー(ReadyForCompletion.cshtml
)と呼ば有する
@using (Html.BeginForm("CompleteAndExport", "SiteVisit"))
{
<input type="submit" value="Complete & Export" />
}
このフォームの生成されたHTML私は、これはABを持っている理由を知りたい
<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 }
);
登録したルートを表示できますか? –
私は登録されたルートを追加しましたが、 'Html.BeginForm()'を正常に実行できるので、なぜそれが問題になるのか混乱します。 – kelloti