关于c#:MVC Ajax Partial View调用返回没有“parent”的partialview站点

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