Во-первых, извините за мой плохой английский.Как изменить содержимое с помощью ajax.BeginForm?
Мне хотелось бы, чтобы один человек нажал кнопку «Страница1», контроллер вернул рендеринга «Страница1» и те же вещи для «page2» и «allPage».
Мои взгляды является:
@{
ViewBag.Title = "Title";
}
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>
<h2>Title</h2>
@using (Ajax.BeginForm("NameAction", //controller action name
"NameController", //controller name
new AjaxOptions //ajax options that tell mvc how to perform the replacement
{
UpdateTargetId = "ViewPage", //id of div to update
HttpMethod = "Post" //how to call the controller action
}, new { id = "FormName" }))
{
<input type="submit" id="btn" value="p1" id="p1"/>
<input type="submit" id="btn" value="p2" id="p2"/>
<input type="submit" id="btn" value="AllPage" id="AllPage"/>
<div id="ViewPage">
//render partial view
</div>
}
И мой контроллер:
public class NameController : Controller
{
[HttpPost]
public ActionResult NameAction(String btn)
{
if (Request.IsAjaxRequest())
if(btn="p1")
return PartialView("p1");
if(btn="2")
return PartialView("p2");
if(btn="3")
return PartialView("p3");
return View();
}
}
Request.isAjaxRequest равно всегда ложно и PartialView не обновлять DIV, но стереть всю страницу
Спасибо за твоя помощь.
MVC2 или MVC3? Пожалуйста, очистите теги вашего вопроса. – ThiefMaster
@ThiefMaster, я удалил тег 'asp.net-mvc-2', который нельзя использовать с' razor'. –
Извините за тег и спасибо за вашу коррекцию Дарин Димитров. thats работает средним, потому что решение с моей «строкой btn» не является нулевым, но параметры ajax не работают :(Если я тестирую в своем контроллере isAjaxRequest равно всегда false, а partialview удаляет всю мою страницу и не обновляет div: s – Zoners