Ajax actionlink - PullRequest
       12

Ajax actionlink

0 голосов
/ 20 января 2009

У меня был пользовательский контроль в MVC ASP.NET, который перечисляет комментарии для определенного изображения. Я дал удалить ссылку с каждым комментарием. Теперь я хочу удалить этот комментарий, используя ссылку Ajax. Скажите, пожалуйста, как я могу использовать Ajax?

Это мой пользовательский элемент управления, и я вызываю действие контроллера для ссылки удаления:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="ListComment.ascx.cs" Inherits="gConnect.Views.Shared.ListComment" %>
<li>
            <div class="question-info">
                <div class="votes count"></span><span><% Response.Write("<img src=../../images/" + ViewData.Model.Logo_url.ToString() + " width=75 height=100 >");%> </div>

                <div class="views "><span><%= ViewData.Model.Username.Substring(ViewData.Model.Username.IndexOf("-")+1)     %></span></div>
                <div class ="deletem" ><span><%= Ajax.ActionLink("Delete", "DeleteComment/" + ViewData.Model.Username.Substring(0, 2) + "." + ViewData.Model.Id, new AjaxOptions(UpdateTargetId = "comments"))%></span></div>
                <div class="question">
                    <h3 class="title"><%= Html.Encode(ViewData.Model.Comment  )%></h3>
                </div>
            </div>
        </li>

Ответы [ 3 ]

1 голос
/ 21 января 2009

Используйте jQuery:

<script type="text/javascript">
    function deleteComment(id) {
        $.post(
            "/MyController/DeleteAction",
            { id : id }
            function (data) {
                // do some gui updates
            });
     }
</script>

И используйте в ссылке:

<a onclick="deleteComment(<%= CommentId %>); return false;" href="#">Delete</a>
0 голосов
/ 20 января 2009

Во-первых, убедитесь, что ваша ссылка для удаления отправляет форму. Ваш вопрос не ясен по этому поводу, но, поскольку вы говорите, что используете ссылку для удаления, я предполагаю, что вы делаете это с помощью GET. Действия, которые изменяют ресурсы, должны выполняться через POST, а не GET.

Как только вы это сделаете, вы можете использовать плагин jQuery AJAX form для отправки сообщения через AJAX. Это довольно просто, и как только у вас будет рабочая форма для этого удаления, вы обнаружите, что ее преобразование в плагин AJAX для отправки формы вместо этого очень просто. Просто следуйте примерам на сайте .

0 голосов
/ 20 января 2009

Используйте панель обновления. Он захватит сообщение обратно из вашей ссылки удаления и асинхронно перезагрузит содержимое.

Для примера рассмотрим http://www.asp.net/ajax/documentation/live/Tutorials/CreatingPageUpdatePanel.aspx.

Надеюсь, это поможет.

Gavin

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...