Ajax actionlink

时间:2009-01-20 11:20:43

标签: asp.net-mvc ajax model-view-controller

我在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 个答案:

答案 0 :(得分:1)

使用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>

答案 1 :(得分:0)

使用更新面板。它将从您的删除链接捕获帖子并异步重新加载内容。

http://www.asp.net/ajax/documentation/live/Tutorials/CreatingPageUpdatePanel.aspx为例说明一下。

希望有所帮助。

加文

答案 2 :(得分:0)

首先,确保您的删除链接发布表单。你的问题不清楚,但是因为你说你正在使用删除链接,我猜你正在使用GET这样做。修改资源的操作应该通过POST完成,而不是GET。

完成后,您可以使用jQuery AJAX form插件通过AJAX发布帖子。这很简单,一旦你有一个工作表单去删除,你会发现将其转换为使用AJAX插件来提交表单非常简单。只需关注the examples on the site