我想获得模型在 ajax 成功中的具体值(value)。我不能在这里使用 Json 结果,因为我还需要在具有局部 View 的 div 容器中加载模型值。
这是我的模型
public class ProductModel
{
public int ProductId { get; set; }
public decimal? Cost { get; set; }
public string Description { get; set; }
public bool IsCostUpdated { get; set; }
}
我只想在 ajax 成功时获取 IsCostUpdated 的值。在 Controller 中,我必须返回强类型的局部 View 。 这是代码
[HttpPost]
public ActionResult CheckProductCost(ProductModel model)
{
ModelState.Clear();
using (var db = DataContext.Db)
{
model.IsCostUpdated = model.CheckUpdate(db);
}
return PartialView("ProductDataTable", model);
}
这是我的ajax调用代码
$.ajax({
url: productCostUrl,
dataType: 'html',
type: 'POST',
data: $('body').find('.productTable').closest('.dataComponent').find(':input').serialize(),
success: function (d) {
var isSuccess = d.IsCostUpdated; [I want this value]
$('body').find('.productTable').html(d)
}
});
最佳答案
您可以在您当前的ActionResult
中返回一个JsonResult
。只需检查发出的请求是否为 ajax
请求。你的 ActionResult
会变成这样:
[HttpPost]
public ActionResult CheckProductCost(ProductModel model)
{
ModelState.Clear();
using (var db = DataContext.Db)
{
model.IsCostUpdated = model.CheckUpdate(db);
}
if (Request.IsAjaxRequest()) // THIS IS AVAILABLE INSIDE THE SYSTEM.WEB.MVC ASSEMBLY
return Json(new { IsCostUpdated = model.IsCostUpdated });
return PartialView("ProductDataTable", model);
}
关于c# - 如何使用部分 View 从 ajax success 中获取模型的特定数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56681157/