加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-3 – 如何使用下拉列表的数据注释?

发布时间:2020-12-16 04:16:32 所属栏目:asp.Net 来源:网络整理
导读:在MVC3中,数据注释可用于加速UI开发和验证;即. [Required] [StringLength(100,ErrorMessage = "The {0} must be at least {2} characters long.",MinimumLength = 6)] [DataType(DataType.Password)] [Display(Name = "New password")] public string NewPas
在MVC3中,数据注释可用于加速UI开发和验证;即.
[Required]
    [StringLength(100,ErrorMessage = "The {0} must be at least {2} characters long.",MinimumLength = 6)]
    [DataType(DataType.Password)]
    [Display(Name = "New password")]
    public string NewPassword { get; set; }

但是,如果对于移动应用程序,没有字段标签,则只从数据库中填充下拉列表.我将如何以这种方式定义它?

[Required]
    [DataType(DataType.[SOME LIST TYPE???])]
    [Display(Name = "")]
    public string Continent { get; set; }

最好不要使用这种方法吗?

解决方法

像这样更改您的ViewModel
public class RegisterViewModel
{
   //Other Properties

   [Required]
   [Display(Name = "Continent")]
   public string SelectedContinent { set; get; }
   public IEnumerable<SelectListItem> Continents{ set; get; }

}

并在您的GET Action方法中,设置从数据库获取数据并设置ViewModel的Continents Collection属性

public ActionResult DoThatStep()
{
  var vm=new RegisterViewModel();
  //The below code is hardcoded for demo. you may replace with DB data.
  vm.Continents= new[]
  {
    new SelectListItem { Value = "1",Text = "Prodcer A" },new SelectListItem { Value = "2",Text = "Prodcer B" },new SelectListItem { Value = "3",Text = "Prodcer C" }
  }; 
  return View(vm);
}

并在您的视图(DoThatStep.cshtml)中使用此

@model RegisterViewModel
@using(Html.BeginForm())
{
  @Html.ValidationSummary()

  @Html.DropDownListFor(m => m.SelectedContinent,new SelectList(Model.Continents,"Value","Text"),"Select")

   <input type="submit" />
}

现在,这将使您的DropDown必填字段.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读