使用Ajax.ActionLink ASP.Net MVC的多个更新目标ID

7 asp.net-mvc jquery

有没有办法用Ajax.ActionLink指定多个更新目标ID,以便我可以在回调上呈现一组部分视图?

我看到的问题是Ajax.ActionLink只提供了一个目标ID供我更新,但我需要的是在ajax调用后用不同的数据更新页面的多个区域.

任何有关这方面的帮助都会很棒!谢谢!

Gre*_*ire 6

您可以查看以下链接:http://devlicio.us/blogs/sergio_pereira/archive/2009/08/23/asp-net-mvc-with-jquery-superload.aspx

我有同样的问题,它帮助我解决它


Cra*_*ntz 4

不,没有。但是,您可以自己编写代码来执行此操作。您需要:

  1. 将返回的 HTML 划分为不同的“区域”,您将应用到页面的不同部分。您可以在控制器上(也许通过渲染多个操作并存储返回的 HTML 片段列表)或在 JavaScript 中执行此操作。
  2. 编写 JavaScript 代码以获取返回的 HTML,迭代您想要更新的目标,并将适当的 HTML 片段应用于每个目标。该代码类似于下面的代码。
  3. 不要使用 Ajax 表单 HTML 帮助程序。相反,呈现标准表单并通过 JavaScript 提交。

例子:

$.ajax({
    type: "POST", 
    url: "/action/controller",
    success: function(data) {
        var key;
        for (key in data) {
            $("#" + key).html(data[key]);
        }
    }
 });
Run Code Online (Sandbox Code Playgroud)

这假定您调用的操作将返回一个对象,其中属性名称是要更新的元素的 ID,属性值是字符串形式的 HTML 片段。