我只是如何正确数据传递到使用MVC模式的图一个简单的问题。模型视图在MVC
我有一个EditProfile /注册模型(姓名,电子邮件,国家)。该视图有一个国家下拉列表,我需要通过它的国家名单。
是改正创建(只为视图)的新模式,即基本上封装我EditProfile /注册模式和列表?我是否在控制器中创建此视图特定模型? (而不是我的数据访问项目)。
谢谢!
我只是如何正确数据传递到使用MVC模式的图一个简单的问题。模型视图在MVC
我有一个EditProfile /注册模型(姓名,电子邮件,国家)。该视图有一个国家下拉列表,我需要通过它的国家名单。
是改正创建(只为视图)的新模式,即基本上封装我EditProfile /注册模式和列表?我是否在控制器中创建此视图特定模型? (而不是我的数据访问项目)。
谢谢!
视图模型(ASP.Net MVC视图)是不相关的域模型(一个在数据层),除了名字。这个MVC: Data Models and View Models问题涵盖了细节上的差异/相似之处。
你在你的ASP.Net MVC项目的地方创建视图模型(而不是在数据层),通常放在“模型”或“的ViewModels”文件夹同级控制器文件夹。根据视图,可以共享某些视图模型类,但您也可以使用单个视图使用的一些视图模型类。
您有两种方法来完成这项任务
(一)推荐
创建一个视图模型 在你的视图模型类分配的构造函数中添加类型选择列表的
<code>
public SelectList countrylist
{
get;
set;
}
</code>
的属性国家表中的国家列表。
<code>
countrylist= new SelectList(db.countries.ToList(), "CountryID", "CountryName");
</code>
视图
添加
<code>
Html.DropDownList("CountyID", Model.countrylist,"Select")
</code>
(ii)只使用,如果你要使用这个模型极少数的意见(如你的情况看来)
不作viewmodel,而不是使用jquery,并且在vew页面的文档准备中为国家列表添加一个html选项。
只是为了澄清,您使用ASP.Net MVC?如果是这样,请将版本特定标签添加到您的问题中,而不仅仅是'mvc'标签。所以如果你使用ASP.Net MVC 2,使用'asp.net-mvc-2'标签。 – Gromer