MVC页面需要从多个模型中获取数据

时间:2014-01-25 08:39:10

标签: asp.net-mvc

我是MVC的新手。

我有一个显示类别列表的页面。同一页面还有一个搜索类别的文本框。为了在一个页面中使用两个模型,我需要做什么。

namespace MvcWebsite.Models.User
{    
    public class ListOfCategories

    {
        public int lngCatId { get; set; }
        public Byte intStatus { get; set; }
        public string txtTitle { get; set; }

        public ListOfCategories()
        {
            intStatus = 1;
        }
    }

    public class SearchBox
    {
        public string txtSearch { get; set; }
    }
}

namespace MvcWebsite.Models.User { public class ListOfCategories { public int lngCatId { get; set; } public Byte intStatus { get; set; } public string txtTitle { get; set; } public ListOfCategories() { intStatus = 1; } } public class SearchBox { public string txtSearch { get; set; } } }

3 个答案:

答案 0 :(得分:0)

创建一个包含两个模型的模型 - 这称为ViewModel

public class UserViewModel
{
    public ListOfCategories ListOfCategories { get; set; }
    public SearchBox SearchBox { get; set; }

    // optional method to load data into the viewmodel
}

答案 1 :(得分:0)

创建一个ViewModel类,其中包含视图所需的所有属性。

答案 2 :(得分:0)

我从您的问题中理解的是,您希望在单个页面中使用这两个模型的属性。如果那样,那么你需要使用ViewModels的概念,这种概念以解决这种情况而闻名。你只需要创建另一个这样的东西:

公共类ThirdModel {     public ListOfCategories ListOfCategories {get;组; } //来自一个模型的属性     public SearchBox SearchBox {get;组; } //来自第二个模型的属性

}

现在,您可以在一个模型中访问两个模型的属性。谢谢