按鈕我要創建具有下一個按鈕和以前按鈕切換顯示的圖像的頁面。ASP.NET MVC:多使用提交Ajax.BeginForm
爲此目的我創建了一個Ajax.BeginForm
並插入到它,圖像和兩個提交按鈕。
我可以(我應該)已經多次提交Ajax.BeginForm
裏面的按鈕?
控制器將如何處理每個單獨提交?
按鈕我要創建具有下一個按鈕和以前按鈕切換顯示的圖像的頁面。ASP.NET MVC:多使用提交Ajax.BeginForm
爲此目的我創建了一個Ajax.BeginForm
並插入到它,圖像和兩個提交按鈕。
我可以(我應該)已經多次提交Ajax.BeginForm
裏面的按鈕?
控制器將如何處理每個單獨提交?
試試這個,
查看
@model TwoModelInSinglePageModel.RegisterModel
@using (Ajax.BeginForm("DYmanicControllerPage", "Test", FormMethod.Post,null, new { id = "frmSignUp" }))
{
<div>
<input type="hidden" id="" name="hidden2" id="hdasd" />
@Html.HiddenFor(m => m.hidden1)
@Html.LabelFor(m => m.Name)
@Html.TextBoxFor(m => m.Name)
@Html.ValidationMessageFor(m => m.Name)
</div>
<br />
<div>
@Html.LabelFor(m => m.Address)
@Html.TextBoxFor(m => m.Address)
@Html.ValidationMessageFor(m => m.Address)
</div>
<br />
<div>
@Html.LabelFor(m => m.PhoneNo)
@Html.TextBoxFor(m => m.PhoneNo)
@Html.ValidationMessageFor(m => m.PhoneNo)
</div>
<input type="submit" value="Save" id="btnSave" name="ButtonType"/>
<input type="submit" value="Next" id="btnNext" name="ButtonType" />
}
控制器
[HttpPost]
public ActionResult DYmanicControllerPage(RegisterModel model, string ButtonType)
{
if(ButtonType == "Next")
{
// Do Next Here
}
if (ButtonType == "Save")
{
//Do save here
}
return JavaScript("REturn anything()");
}
我會建議你有兩個按鈕,然後根據被點擊了哪個按鈕,你可以設置窗體上的動作:
剃刀
$(function(){
$("#btn-prev").click(function() {
$("#form").attr
(
"action",
"@Url.Action("Action", "Controller", new {area="Area" })",
).submit();
});
$("#btn-next").click(function() {
$("#form").attr
(
"action",
"@Url.Action("Action", "Controller", new {area="Area" })",
).submit();
});
});
我使用jQuery這裏做這個,但我認爲你可以明白。
我有同樣的要求/問題,在這裏嘗試這兩種解決方案,他們都爲我工作。我喜歡這個想法,通過點擊設置動作通過jquery,所以我可以保持我的行動分開,以便他們可以被其他視圖使用。但是我發現當我在調試的時候這樣做,它會發布TWICE和 OnSuccess和OnFailure被觸發。它只發生在調試時。選擇時請記住這一點。
只是說明:它正常發生,而不僅僅是在調試時。每次執行操作時,我都有一個記錄時間戳的txt文件。調試與否,當我通過jquery設置表單的動作時,我寫了兩行代碼......但是當動作被硬編碼時,它只寫了一行代碼。直到我可以找出原因,這可能不是一個安全的方法 – citronsmurf
另外...我發現了很多關於Ajax.Beginform的文章。他們都必須與人們偶然添加不顯眼的JavaScript JS文件兩次(一次在部分視圖中,一次在主佈局中)。這不適合我。所以我不知道爲什麼會發生這種情況。我將繼續研究它,因爲我真的想要jQuery方法的工作 – citronsmurf
我在此操作中獲得的模型不包含頁面中的值。那是自然的嗎? – kroiz
@kroiz抱歉,我不明白你想說什麼。可以發佈一些代碼,以便我可以幫助你。 – Jaimin
謝謝,但這不是這個地方,我會開始一個新的問題。只要告訴我這一點:在上面的動作「DYmanicControllerPage」,模型「RegisterModel模型」,它應該有像名稱,地址和phoneno形式的數據? – kroiz