没有Ajax.ActionLink的MVC3 ASP.NET AJAX

时间:2011-10-04 16:07:45

标签: ajax asp.net-mvc-3 razor

我更喜欢在锚点中使用跨度来格式化我的链接。我可以使用

为html链接执行此操作
<a href="@Url.Action("ViewMore","Post")">
    <span style="float:right;">View More</span>
</a>

我想对AJAX链接做同样的事情,但我只找到了ActionLink命令。

@Ajax.ActionLink("View Another", "Post", new AjaxOptions { UpdateTargetId = "post", InsertionMode = InsertionMode.Replace, HttpMethod = "GET" })

与Url.Action类似的AJAX助手方法是什么?

提前致谢,

2 个答案:

答案 0 :(得分:2)

您应该使用,为此锚标记指定一个ID并在其上使用jquery .ajax

<a href="@Url.Action("ViewMore","Post")" id="linkViewMore">
    <span style="float:right;">View More</span>
</a>


$('#linkViewMore').click(function () {

 $.ajax({
        url: this.href,
        type: 'POST',
        dataType: ,
        data: ,
        complete: function () {

        },
        success: function (response, textStatus, jqXHR) {

                            },
        error: function (xhr, status) {


        }
    });   
}

答案 1 :(得分:0)

为什么你要为你的链接插入一个span,而不仅仅是为了链接的样式,可能还有一个类?

编辑:为了回应这些注释,Ajax.ActionLink()与Html.ActionLink()基本上具有相同的属性,并且通过Html.ActionLink()api查看没有任何容易允许注入的内容。跨越元素。

我认为您可以选择编写自己的包装函数,这可能会扩展现有的辅助函数,或者将<a>包装在<span>中,而不是反过来。< / p>