0
using (Ajax.BeginForm("Customer", new AjaxOptions { HttpMethod = "POST" }))
{
{
 .................
}
}

如何在新的 ajaxoptions 中禁用回发,写什么?

4

1 回答 1

0

您需要使用 Json 来防止页面中的完整回发。之后,您必须返回局部视图。

例如;

HTML 代码:

<input type="text" id="UserName" name="UserName"/>
<input type="button" onclick="ButonClick()" value="Enter"/>

Javascript代码:

function ButonClick() {
var data= {
UserName: $('#UserName').val(),
};


$.ajax({
url: "/Home/MyActionResult",
type: "POST",
dataType: "json",
contentType: 'application/json',
data: JSON.stringify(data),

控制器:

public ActionResult MyActionResult(string UserName)
{
var stringView = RenderRazorViewToString("_YourPartialView", model);
return Json(stringView, JsonRequestBehavior.AllowGet);
}

笔记:

您需要以下代码来呈现 json 的部分视图。

也将以下内容添加到您的控制器中。

public string RenderRazorViewToString(string viewName, object model)
{
ViewData.Model = model;
using (var sw = new StringWriter())
{
var viewResult = ViewEngines.Engines.FindPartialView(ControllerContext, viewName);
var viewContext = new ViewContext(ControllerContext, viewResult.View, ViewData, TempData, sw);
viewResult.View.Render(viewContext, sw);
viewResult.ViewEngine.ReleaseView(ControllerContext, viewResult.View);
return sw.GetStringBuilder().ToString();
}
}
于 2013-09-21T09:47:15.543 回答