Asp.net mvc 4 MVC4中的Ajax.BeginForm()
我的要求是在同一页中显示结果,而不重定向到另一页。我正在使用Ajax.BeginForm()完成这项工作。但它会重定向到另一个页面。有人能帮忙吗 我的js文件:Asp.net mvc 4 MVC4中的Ajax.BeginForm(),asp.net-mvc-4,ajax.beginform,Asp.net Mvc 4,Ajax.beginform,我的要求是在同一页中显示结果,而不重定向到另一页。我正在使用Ajax.BeginForm()完成这项工作。但它会重定向到另一个页面。有人能帮忙吗 我的js文件: <script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script> @using (Ajax.BeginForm("UserAccountInfo", "Account"
<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");
}
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
[HttpPost]
public ActionResult UserAccountInfo(RegisterModel Model)
{
// code
return PartialView("_yourPartialView", model);
}
[HttpPost]
public ActionResult UserAccountInfo(RegisterModel Model)
{
// code
ViewBag.VariableName = "Thank you for subscribe";
return View();
}
@ViewBag.VariableName
web.config:
<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");
}
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
[HttpPost]
public ActionResult UserAccountInfo(RegisterModel Model)
{
// code
return PartialView("_yourPartialView", model);
}
[HttpPost]
public ActionResult UserAccountInfo(RegisterModel Model)
{
// code
ViewBag.VariableName = "Thank you for subscribe";
return View();
}
@ViewBag.VariableName
任何人都可以帮忙,成功消息应该显示在同一页中。返回为json。我想这对你会有用的。你可以用两种方法来做 解决方案1:您必须在/Views/Account文件夹中创建包含内容的局部视图,然后将其返回 控制器:
<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");
}
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
[HttpPost]
public ActionResult UserAccountInfo(RegisterModel Model)
{
// code
return PartialView("_yourPartialView", model);
}
[HttpPost]
public ActionResult UserAccountInfo(RegisterModel Model)
{
// code
ViewBag.VariableName = "Thank you for subscribe";
return View();
}
@ViewBag.VariableName
解决方案2:只需返回相同的视图,并使用ViewBag变量将任何字符串发送到视图,如下所示
控制器:
<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");
}
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
[HttpPost]
public ActionResult UserAccountInfo(RegisterModel Model)
{
// code
return PartialView("_yourPartialView", model);
}
[HttpPost]
public ActionResult UserAccountInfo(RegisterModel Model)
{
// code
ViewBag.VariableName = "Thank you for subscribe";
return View();
}
@ViewBag.VariableName
查看:
<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");
}
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
[HttpPost]
public ActionResult UserAccountInfo(RegisterModel Model)
{
// code
return PartialView("_yourPartialView", model);
}
[HttpPost]
public ActionResult UserAccountInfo(RegisterModel Model)
{
// code
ViewBag.VariableName = "Thank you for subscribe";
return View();
}
@ViewBag.VariableName
检查以添加jquery之前的版本(1.8.3版,或检查unobtrusive ajax和jquery 1.9.2的新版本)@hvost:js文件有任何问题。如果我删除以提供参考,它将重定向到另一个页面。在AjaxOptions中显示result.in add InsertionMode=InsertionMode.Replace,如果jquery是在表单主体中删除之前添加的,则必须工作。id不是必需的,表单是自动集装箱,我无法获取。它将重定向到另一个页面。js文件可能有任何问题。