MVC中的语言下拉菜单

时间:2017-09-20 03:42:39

标签: c# asp.net-mvc asp.net-mvc-4 razor

我想创建一个用于语言选择的下拉菜单。它是一个MVC数据库应用程序。我希望用户能够选择多种语言。

我想知道的是如何将我的模型连接到剃刀视图。我可以在类的属性之上使用什么样的属性?

这是我所拥有的模型类的快照:

public class CrewViewModel
    {
 // This is the date of birth property
        [Required]
        [DisplayName("Date of Birth")]
        [DataType(DataType.Date)]
        [DisplayFormat(DataFormatString = "{0:yyyy-dd-mm}", ApplyFormatInEditMode = true)]
        public DateTime DOB { get;  
 // Here goes the code for the Languages property
    }

在视图中使用什么剃刀代码。

1 个答案:

答案 0 :(得分:0)

有很多方法可以做到这一点,我过去通过创建一个特定的类来连接我的值来做到这一点:

public class LanguageItem
{
    public bool Disabled { get; set; }
    public string Value { get; set; }
    public string Name { get; set; }
}

然后,您可以在模型中创建属性:

public IEnumerable<LanguageItem> Languages
{
    get
    {
         return new List<LanguageItem>
          {
              new LanguageItem {Name = "English", Value = "en-US"}
          };
    }
}

或者你填充你的。为选择创建一个字段(即SelectedLanguage)。然后就像......

 @Html.DropDownListFor(m => m.SelectedLanguage, new SelectList(Model.Languages, "Value", "Text"), "Language")

应该工作