gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 10:41:14 29 4
gpt4 key购买 nike

在 MVC3 中,数据注解可用于加快 UI 开发和验证; IE。

    [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操作方法,设置从您的数据库获取数据并设置您的 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);
}

并在您的 View ( 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 为必填字段。

关于asp.net-mvc-3 - 如何为下拉列表使用数据注释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12011804/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com