javascript - 如何将通过 AJAX 接收到的数据传递到 ASP MVC 部分 View ?

标签 javascript jquery asp.net ajax asp.net-mvc

我想要实现的是更新包含部分 View 的页面的某些部分。我这样做的尝试如下:

        $.ajax({
        type: 'GET',
        url: actionUrl,
        success: function (data) {
            $("#results").html(""); 
            $("#results").append(@Html.Partial("_FirstPartial", data.FirstDataSet));
            $("#results").append(@Html.Partial("_SecondPartial", data.SecondDataSet));    
            }
        });

当然,我无法像这样将 JS 变量传递给 ASP MVC 方法,那我该怎么办呢?或者可能有一种完全不同的、更好的方法来更新页面?

最佳答案

查看(Javascript):

$.ajax({
    type: 'GET',
    url: actionUrl,
    success: function (data) {
        $("#results").html(""); 
        $.post('@Url.Action ("FirstPartial")',{data:data.FirstDataSet},function(ret){
            $("#results").append(ret);
            $.post('@Url.Action ("SecondPartial")',{data:data.SecondDataSet},function(ret2){
                $("#results").append(ret2);
            }
        }
    }
});

Controller :

public ActionResult FirstPartial(string data)
{
    return PartialView("_FirstPartial", data);
}
public ActionResult SecondPartial(string data)
{
    return PartialView("_SecondPartial", data);
}

您需要使用部分操作(返回部分 View )。在 javascript 中,获取数据集后,您可以调用另一个部分操作来渲染数据集。

我嵌套了两个 ajax 调用来在第一个 View 下方呈现第二个 View 。如果删除嵌套,则第二个嵌套可能会在第一个嵌套之前渲染。

关于javascript - 如何将通过 AJAX 接收到的数据传递到 ASP MVC 部分 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38932681/

相关文章:

javascript - 如何使用 2 个独立的数据库,一个用于写入端,一个用于读取端。 (两个数据库通过eventbus同步)

javascript - 如何进行单元测试来查看 Angular 是否未定义?

javascript - 如何防止更改复选框的父单击事件

javascript - 如何在javascript中实现这个逻辑?

javascript - 如何减少 Javascript 中 2 个表之间的差距

asp.net - IIS 中默认阻止哪些文件扩展名

c# - 使用参数从 JavaScript 调用 CodeBehind 方法

javascript - 通过javascript删除重复元素

javascript - hogan.js + Jade ?

javascript - 使用 ^[a-z0-9_-]{3-20}$ 的用户名正则表达式