MVC Ajax Partial View call returns partialview site without “parent”
我通过Ajax处理部分重新加载页面。
这就是我所拥有的:
控制器:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | public class EmailController : Controller { // // GET: /Email/ [Authorize] public ActionResult Index(string id) { //.. Some Code here to get my Email List return View(emails); } [Authorize] public PartialViewResult EmailPartial(string id ="1,2") { //.. Some Code here to get my Email List with the new filter return PartialViewResult(emails); } } |
主要观点:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | @model IEnumerable<namespace.Emailgesendetview> @{ ViewBag.Title ="Index"; AjaxOptions ajaxOpts = new AjaxOptions { UpdateTargetId ="emailBody" }; Layout ="~/Views/Shared/_Default.cshtml"; } // .... uninteresting html code @Html.Action("EmailPartial", new { selectedRole = Model }) // .... uninteresting html code // Here comes my action link: <li> @Ajax.ActionLink("martin", "EmailPartial", "Email", new { id ="3"}, new AjaxOptions() { HttpMethod ="GET", AllowCache = false, InsertionMode = InsertionMode.Replace, UpdateTargetId ="emailBody" }) </li> |
局部视图:
1 2 3 4 5 6 7 8 9 10 11 | @model IEnumerable<namespace.Emailgesendetview> <ul class="mail-list"> @{ foreach (var userMail in Model) { //... Code vor showing the models } } </ul> |
如果我现在点击链接,他启动功能:EmailPartial,但他没有添加(或替换我尝试了两个)内容。 他一个人打开EmailPartial视图?!
在这篇文章中:
如何通过ajax调用在控制器中呈现MVC5中的局部视图并返回HTML
Partial函数不是PartialViewResult它是一个ActionResult,但我已经尝试过了。
会很棒我可以告诉我我的错误或错误。
非常感谢,祝你有愉快的一天:)
因为您没有在视图或布局中包含jquery-unobtrusive-ajax.js,所以它进行了正常的重定向。 - Stephen Muecke 3月31日10:30