这是我的模型类
public class ProductModel
{
public Product {set;set;} // Product is one more class
}
我使用下面的 JavaScript 代码来获取部分 View ,但“模型”没有在 Controller 中反序列化...我缺少什么?
将数据存储在 HTML 属性中,如下所示
JavaScriptSerializer serializer = new JavaScriptSerializer();
var jsonObject = serializer.Serialize(obj)
<span data-singleproduct="@jsonObject" id="@mprodid" class="ShowProductModal">Find out more..</span>
使用jQuery调用部分页面和弹出窗口
$('.ShowProductModal').on('click', function () {
var model = $(this).data('singleproduct');
//I can see data of variable model here in developer tool
$("#ProductModal").dialog({
autoOpen: true,
position: { my: "center", at: "top+350", of: window },
width: 1000,
resizable: false,
title: '',
modal: true,
open: function () {
$(this).load('ShowProductModal', model );
},
buttons: {
}
});
return false;
});
这是我的 Controller 代码
public PartialViewResult ShowProductModal(ProductModel product)
{
return PartialView("ProductModal", product);
}
产品始终为空!!!
如果我将 ProductModel 更改为 Product ,那么它将起作用......!有人可以帮助我吗?
public PartialViewResult ShowProductModal(Product product)
{
return PartialView("ProductModal", product);
}
最佳答案
你应该尝试
$(this).load('ShowProductModal', { product: model });
并像这样声明你的方法:
[HttpPost]
public PartialViewResult ShowProductModal([FromBody] JObject data)
{
var product = data["product"].ToObject<ProductModel>();
return PartialView("_SC5ProductModal", product);
}
关于javascript - 数据模型未在 Controller 中反序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39331463/