我一直在寻找近3天来找到解决以下问题的方法。
我只是想在DropDownList
中添加RegisterViewModel (Identity)
。
在用户注册期间,我需要提示Gender
。
我已在表格中插入以下内容。
Code = F
Definition = Female
-------------------
Code = M
Definition = Male
当我在GenderDDController中直接生成DropDownList时,它的视图效果很好但是只要我在RegisterViewModel
,我就没有机会因为我无法在Register.cshtml (View)
中引用多个模型。
我还应该表明我是MVC的新手,我确信这是我现在看起来很困惑的唯一原因。
public partial class GenderDD
{
public int Id { get; set; }
[StringLength(1)]
public string Code { get; set; }
[StringLength(50)]
public string Definition { get; set; }
public DateTime? CreateDate { get; set; }
[StringLength(50)]
public string CreatedBy { get; set; }
public bool Deleted { get; set; }
public DateTime? UpdateDate { get; set; }
[StringLength(50)]
public string UpdatedBy { get; set; }
}
[AllowAnonymous]
public ActionResult Register()
{
ViewData["GenderList"] =
Enum.GetValues(typeof (GenderDD))
.Cast<GenderDD>()
.Select(c => new SelectListItem {Text = c.ToString(), Value = c.ToString()});
return View();
}
答案 0 :(得分:3)
您的模型中可以有多个类Register.cshtml (View)
只需创建一个如下所示的基类,并将其作为该视图的模型引用,这样就可以访问两个模型。
Public Class RegisterViewModel()
{
public ModelName ModelName {get;set;}
public ModelName2 ModelName2 {get;set;}
}
答案 1 :(得分:2)
使用viewbag传递数据,如下所示, 你可以用控制器写
var genderlist = new List<SelectListItem>
{
new SelectListItem { code = "M", name = "Male" },
new SelectListItem { code = "F", name = "Female" }
};
viewbag.genderlist=genderlist;
您可以在视图中书写
@Html.DropDownListFor(model => model.gender, new SelectList(ViewBag.genderlist, "code", "name"))