1
在我的佈局中,我使用了RenderAction,它將輸出一個簡單的電子郵件表單,它將發佈到一個操作。ASP.NET MVC 3中的Html.RenderAction()
// In _Layout.cshtml
@{Html.RenderAction("Email", "Home")};
// Home Controller
[ChildActionOnly]
public ActionResult Email(){}
[HttpPost]
public ActionResult Email(params){}
現在,RenderAction的工作效果很好,因爲它是頁面上唯一的表單。但是,如果不是,則除了我不瞭解的其他表單操作之外,還會調用電子郵件發佈操作。表格不是嵌套的;源代碼看起來像這樣:
<form id="email-form" action="/home/email" method="post">
// form elements
</form>
<form id="some-other-form" action="/somecontroller/someaction" method="post">
// form elements
</form>
如何避免兒童動作來自不同的形式?作爲一種解決方法,我可以檢查傳入的參數,如果它們爲空,我應該很好,並且很花哨,但我不認爲這是預期的行爲。