在MVC 4中创建链接Ajax.ActionLink

时间:2013-10-28 15:06:43

标签: ajax asp.net-mvc episerver-7

Beeing是Ajax的新手我需要有关如何添加查询字符串并在没有回发的情况下调用Index操作的帮助。现在链接看起来像这样:

<a href="@EPiServer.UriSupport.AddQueryString(Request.RawUrl, "section", Server.UrlEncode(sectionGroup.Term))">@sectionGroup.Term, @sectionGroup.Count</a>

我的猜测是使用Ajax.ActionLink,但我如何创建查询字符串?

1 个答案:

答案 0 :(得分:1)

您添加到routeValues并且与路段不匹配的所有内容都将添加到查询字符串中。

使用您的示例,使用Ajax.ActionLink看起来像这样:

@Ajax.ActionLink(
    sectionGroup.Term + ", " + sectionGroup.Count, 
    "Index", 
    new { section = sectionGroup.Term }, 
    new AjaxOptions { UpdateTargetId = "id-of-container" }
)

在您的索引操作中,您需要在使用ajax请求时返回部分视图。这将从响应中删除布局(母版页)。

if (Request.IsAjaxRequest())
    return PartialView(model);

return View(model);

请记住添加对jquery.unobtrusive-ajax.js文件的引用。