2
我有一個包含多個表單的頁面的MVC項目。網頁上的大部分內容都是基於用戶提交的初始表單呈現的。當用戶更新該頁面上的信息時,我不希望整個頁面刷新,我只需要它提交表單並保留在頁面上。我試圖設置表單以使用AJAX提交,但我不知道如何使控制器方法返回來完成此操作。提交AJAX請求時的控制器方法
形式:
<div id="HeatNameDiv" title="Change Heat Name">
@using (Ajax.BeginForm("ChangeHeatName", "Home", new AjaxOptions(){UpdateTargetId = "HeatNameDiv"}))
{
<section>
Heat Name:<input type="text" name="heatName" value="@Html.ValueFor(x => x.heatname)" style ="width:100px"/>
Change to:<input type="text" name="updatedHeat" value="" style="width: 100px" />
<input type="submit" name="ChangeHeatName" value="Change" />
</section>
}
電流控制器:
public ActionResult ChangeHeatName(string heatName, string updatedHeat)
{
string user = User.Identity.Name;
HomeModel H = new HomeModel();
H.ChangeHeatName(heatName, updatedHeat, user);
return Content("Index");
}
你通常要返回一個JsonResult。 – 2013-04-10 20:36:46
如果我只是試圖保持在同一頁面上,看起來會是什麼樣子? – 2013-04-10 20:39:09
我會使用jquery'$ .post'命令提交表單數據並返回JSON結果。如果結果表明成功,告訴你的jQuery做一些事情,如果失敗了,請做其他事情。我還沒有找到'Ajax.BeginForm'非常有用,但這是我個人的偏見。 – 2013-04-10 20:41:53