我有一個Ajax形式:ASP.NET MVC Ajax.Begin形式與許多輸入(類型=提交)
<%using (Ajax.BeginForm(...)){%>
...
<input id="btn1" type="submit" value="OK1"/>
<input id="btn2" type="submit" value="OK2"/>
<%} %>
兩個輸入不同的工作 - 這可能趕上已經點擊的輸入?
我有一個Ajax形式:ASP.NET MVC Ajax.Begin形式與許多輸入(類型=提交)
<%using (Ajax.BeginForm(...)){%>
...
<input id="btn1" type="submit" value="OK1"/>
<input id="btn2" type="submit" value="OK2"/>
<%} %>
兩個輸入不同的工作 - 這可能趕上已經點擊的輸入?
讓您的輸入按鈕不同的名稱:
<input id="btn1" type="submit" name="action1" value="OK1"/>
<input id="btn2" type="submit" name="action2" value="OK2"/>
然後在如果action1
被點擊通過查看請求參數控制器動作檢查(點擊的按鈕的名字將被髮送):
public ActionResult Index()
{
if (!string.IsNullOrEmpty(Request["action1"]))
{
// action1 was clicked
}
// ...
return View();
}
你可以這樣做......
<input id="btnSubmit" name="pFormAction" type="submit" value="Submit" class="ym-button" /> <input id="btnSave" name="pFormAction" type="submit" value="Save" class="ym-button" /> <input type="reset" value="Clear" class="ym-button" />
,然後在回購:
[HttpPost] public ViewResult Create(string pFormAction, V2WorksheetModel pWorksheet) { }
而不必使用不同的名稱,並沒有利用模型綁定。
我會建議你有兩個按鈕,然後根據被點擊了哪個按鈕,你可以設置窗體上的動作: 我使用jQuery在這裏做到這一點,但我認爲你可以得到的想法
$(function(){
$("#btn1").click(function() {
$("#form").attr
(
"action",
"@Url.Action("Action", "Controller", new {area="Area" })",
).submit();
});
$("#btn2").click(function() {
$("#form").attr
(
"action",
"@Url.Action("Action", "Controller", new {area="Area" })",
).submit();
});
});