是否可能有兩個輸入或按鈕控件在綁定到Html.BeginForm的同一個控制器中觸發兩個不同的動作?ASP.NET MVC在Html.BeginForm中使用兩個輸入
在以下示例中,我希望訂閱輸入在控制器上調用Subscribe操作。這很好。我想取消訂閱輸入來調用我的取消訂閱操作。我如何做到這一點? TIA。
<% using (Html.BeginForm("Subscribe", "NewsLetter"))
{%>
<div class="editor-field">
<%= Html.TextBoxFor(model => model.EmailAdress) %>
<%= Html.ValidationMessageFor(
model => model.EmailAdress) %>
</div>
<div >
<input type="submit" class="submit" value="Subscribe" />
<input type="submit" class="submit" value="Unsubscribe" />
</div>
<% } %>
更新:
只是更多的情況下這個問題:
我NewsLetterController有兩個動作訂閱和退訂如下貼:
public class NewsLetterController : Controller
{
[HttpPost]
public ActionResult Subscribe(NewsletterSubscriber subscriber)
{
// do something
}
[HttpPost]
public ActionResult Unsubscribe(NewsletterSubscriber subscriber)
{
// do something
}
我希望我可以從同一個Form元素調用每個動作,但這顯然是錯誤的。我如何仍然維護MVC模式,但如果可能的話避免腳本?發佈的HTML是在主頁面上呈現的部分視圖的一部分。
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl
<AkwiMemorial.Models.NewsletterSubscriber>" %>
<h2><strong>Newsletter</strong></h2>
<legend>Enter your email</legend>
<% using (Html.BeginForm("Subscribe", "NewsLetter"))
{%>
<div class="editor-field">
<%= Html.TextBoxFor(model => model.EmailAdress) %>
<%= Html.ValidationMessageFor(model => model.EmailAdress) %>
</div>
<div >
<input type="submit" class="submit" name="sub"
value="Subscribe" />
<input type="submit" class="submit" name="unsub"
value="Unsubscribe" />
</div>
<% } %>
如果您需要添加更多的信息,請編輯你的問題。 – 2011-02-10 16:26:45