javascript - 数据模型未在 Controller 中反序列化

标签 javascript c# asp.net-mvc modal-dialog

这是我的模型类

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/

相关文章:

javascript - 基本 Javascript 前端代码的问题

javascript - 列出本地存储

javascript - HighCharts 和 idTabs - 图表宽度设置不正确

c# - 内存困惑

asp.net-mvc - 带有 ASP.NET MVC 项目的 Visual Studio 代码

jquery - 设置yearRange后: '-90:-15' Jquery Datepicker picking current Year(initially) why?

javascript - 有没有办法在 node.js 的对象字面量中指定 ES6 生成器方法?

c# - 如何处理可自定义的热键设置?

c# - 如何让页面调用usercontrol

c# - MVC 默认路由不适用于 Controller