当前位置:  开发笔记 > 编程语言 > 正文

默认模型绑定器和包含列表的复杂类型

如何解决《默认模型绑定器和包含列表的复杂类型》经验,为你挑选了1个好方法。

我正在使用ASP.NET MVC的RC1.

我正在尝试扩展Phil Haack的模型绑定示例.我正在尝试使用默认模型绑定器来绑定以下对象:

public class ListOfProducts
{
    public int Id { get; set; }
    public string Title{ get; set; }
    List Items { get; set; }
}

public class Product
{
    public string Name { get; set; }
    public decimal Price { get; set; }
}

我正在使用Phil的示例中的代码进行一些更改:

控制器:

using System.Collections.Generic;
using System.Web.Mvc;

namespace TestBinding.Controllers
{
    [HandleError]
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            ViewData["Message"] = "Welcome to ASP.NET MVC!";

            return View();
        }

        //Action method on HomeController
        public ActionResult UpdateProducts(ListOfProducts productlist)
        {
            return View(productlist);
        }
    }

    public class Product
    {
        public string Name { get; set; }
        public decimal Price { get; set; }
    }

    public class ListOfProducts
    {
        public int Id { get; set; }
        public string Title { get; set; }
        List Items { get; set; }
    }
}

视图:

<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>

    
        Home Page
    

    
        

我的问题是,简单类型(Id和Title)出现在productlist对象中,但不出现在List中.所以:

我的代码是不好的(不会感到惊讶)?

默认模型绑定器可以处理ListOfProducts对象吗?

如果默认模型绑定器不能处理这种类型的对象,我需要做什么(如果可能的话,示例)?

提前致谢.



1> Alan T..:

回答我自己的问题:

我是假的!

我的示例不起作用,因为ListOfProducts类的Items属性不公开:

public class ListOfProducts
{
    public int Id { get; set; }
    public string Title{ get; set; }
    List Items { get; set; }
}

我变了:

List Items { get; set; } 

至:

public List Items { get; set; }

然后我的代码工作了.

总结默认模型绑定器可以使用包含List类型属性的类型.


你不是假人.我遇到了同样的问题,但那是因为我的清单不是财产.我有类似的东西:public List Items,而不是public List Items {get; 组; }
推荐阅读
谢谢巷议
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有