gpt4 book ai didi

c# - MVC PartialView 不刷新数据

转载 作者:行者123 更新时间:2023-11-30 19:57:41 26 4
gpt4 key购买 nike

我有一个索引页:

@model AlfoncinaMVC.Models.VentaIndexViewModel

@{
ViewBag.Title = "Ventas";
Layout = "~/Views/Shared/_Layout.cshtml";
}

<script>
var d = 1;
setInterval(function () {
d++;
$('#testLabe').text(d);
$.ajax("Ventas");
}, 1000 * 1 * 1);
</script>

<div id="ventasTable">
@{ Html.RenderPartial("_VentasTable"); }
@*@Html.Partial("_VentasTable")*@
</div>

<label id="testLabe"></label>

使用局部 View (_VentasTable):

@model AlfoncinaMVC.Models.VentaIndexViewModel

<table>
<thead>

</thead>
<tbody>
@foreach (var item in @Model.Ventas)
{
<tr>
<td>
@item.nombreArticulo
</td>
</tr>
}
</tbody>
</table>

有了这个 Controller :

public ActionResult Ventas()
{
var db = new AlfonsinaEntities();
var ventas = db.Set<Venta>();

var vm = new VentaIndexViewModel
{
Ventas = ventas.Select(x => new VentaViewModel
{
nombreArticulo = x.NombreArticulo
}).ToList()
};

if (Request.IsAjaxRequest())
{
return PartialView("_VentasTable", vm);
}
return View("Ventas", vm);
}

在调用 Html.RenderPartial 之后,我无法在局部 View (_VentasTable) 中刷新数据(HTML.Partial 也不能,请注意我的代码中已对此进行了注释。)在我的局部 View 上设置断点后,我看到数据已从数据库查询中更改,但该数据未在局部 View 中被替换。有什么帮助吗?

最佳答案

正如@StephenMuecke 所说 - “您需要将返回的数据添加到 DOM”:

$.ajax({
type: "GET",
url: '@Url.Action("Ventas", "ControllerName")',
async: true,
cache: false,
dataType: "html",
success: function (data, textStatus, jqXHR) {
$("#ventasTable").html(data);
},
error: function (jqXHR, textStatus, errorThrown) {
alert(textStatus + " - " + errorThrown);
}
});

关于c# - MVC PartialView 不刷新数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29158135/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com