Niestety natrafiłem na problem przy zmianie w PartialView. Pomimo używania AJAXA cały czas jak na złość odświeża mi się cała strona :/

W widoku całkowitym dodałem Partial View następująco

 @Html.Action("_GetForSession", "Comment", new { SessionID = Model.SessionID }) 

Kontroler wygląda tak:

  public PartialViewResult _GetForSession(int sessionID)
        {
            ViewBag.SessionID = sessionID;
            List<Comment> comments = context.Comments.Where(c => c.SessionID == sessionID).ToList();

            return PartialView("_GetForSession", comments);
        }

        [ChildActionOnly()]
        public PartialViewResult _CommentForm(int sessionID)
        {
            Comment comment = new Comment() { SessionID = sessionID };
            return PartialView("_CommentForm", comment);
        }

        [ValidateAntiForgeryToken()]
        public PartialViewResult _Submit(Comment comment)
        {
            context.Comments.Add(comment);
            context.SaveChanges();

            List<Comment> comments = context.Comments.Where(c => c.SessionID == comment.SessionID).ToList();
            ViewBag.SessionID = comment.SessionID;

            return PartialView("_GetForSession", comments);
        } 

A sam plik Partial View, z którym mam problem wygląda tak:

@model IEnumerable<najbardziejdebilnytest.Models.Comment>




<div id="comments">
    <ul>
        @foreach (var comment in Model)
            {
            <li>@comment.Content</li>
        }
    </ul>

    @using (Ajax.BeginForm("_Submit", "Comment", new AjaxOptions() { UpdateTargetId = "comments" }))
    {
        @Html.AntiForgeryToken()
        @Html.Action("_CommentForm", new { SessionID = ViewBag.SessionID })

    }
</div>

 

zupełnie nie rozumiem czemu mimo użycia UpdateTargetId on odświeża całą stronę skoro jest @html.Action a nie @html.ActionLink

Jest ktoś to w stanie ogarąć ?

DO ZAMKNIECIA!