我想要实现的是更新包含部分 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/