我的要求是在同一頁面中顯示結果,並將其重定向到另一個頁面。我正在用Ajax.BeginForm()來做這件事。但它重定向到另一個頁面。任何人都可以幫助嗎?MVC4中的Ajax.BeginForm()
我的js文件:
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>
我的視圖代碼:
@using (Ajax.BeginForm("UserAccountInfo", "Account", new AjaxOptions {UpdateTargetId = "result" }))
{
@Html.ValidationSummary(true)
<div id="result"></div>
<div class="t-12-user">First Name </div>
<div> @Html.TextBoxFor(model => model.FirstName, new { @class = "user-input-bx", MaxLength = "50"})</div>
<div class="t-12-user"> Email Address </div>
<div> @Html.TextBoxFor(model => model.EmailId, new { @class = "user-input-bx", MaxLength = "50" })</div>
<div><input type="submit" value="Save" /> </div>
}
控制器:
[HttpPost]
public ActionResult UserAccountInfo(RegisterModel Model)
{
// code
return Content("Thank you for subscribe", "text/html");
}
web.config中:
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
任何一個可以幫助這一點,成功的消息應該顯示在同一頁面..
檢查以添加jQuery之前(ver。 1.8.3,或檢查新版本的不顯眼的ajax和jquery 1.9.2) – hVostt 2013-05-05 09:31:07
@hVostt:js文件有問題。如果我刪除給它參考重定向另一頁。顯示結果。 – Ram 2013-05-05 09:50:24
在AjaxOptions添加InsertionMode = InsertionMode.Replace,必須工作,如果jQuery之前添加 – hVostt 2013-05-05 10:55:45