所需数据未显示在html.dropdownlist MVC中 [英] Required data not displayed in html.dropdownlist MVC
本文介绍了所需数据未显示在html.dropdownlist MVC中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试从模型中填充一些数据以在下拉列表中查看.为此,我将模型创建为
I am trying to populate some data from model to view in a dropdown list. For that I have created my model as
型号:
public class NoOfSupportingLanguages
{
public int LanguageId { get; set; }
public string LanguageName { get; set; }
}
public class OrganisationModel
{
public SelectList NoofSupportingLanguages { get; set; }
}
在控制器端,类似这样:
And on the controller side , something like this:
控制器:
public ActionResult Index()
{
List<NoOfSupportingLanguages> LanguageOption = new List<NoOfSupportingLanguages>{
new NoOfSupportingLanguages{ LanguageId = 1, LanguageName="English" },
new NoOfSupportingLanguages{ LanguageId = 2, LanguageName="Arabic" },
new NoOfSupportingLanguages{ LanguageId = 3, LanguageName="French" }
};
SelectList languageList = new SelectList(LanguageOption, "LanguageId");
model.NoofSupportingLanguages = languageList;
return View(model);
}
查看:
@Html.LabelFor(m => m.NoofSupportingLanguages, "Number of languages to support :")
@Html.DropDownList("ddlNoOfSupportingLanguages", Model.NoofSupportingLanguages)
但是在下拉菜单中,我得到的值是:
but in my dropdown I am getting values as :
Web.Models.Organisation.NoOfSupportingLanguages
Web.Models.Organisation.NoOfSupportingLanguages
Web.Models.Organisation.NoOfSupportingLanguages
请提出一些帮助.
预先感谢!
推荐答案
如果要以干净的MVC方式进行操作,则应更改模型:
If you want to do it in a clean MVC way you should change your model:
public class OrganisationModel
{
public int SelectedLanguageId { get; set; }
public List<SelectListItem> NoofSupportingLanguages { get; set; }
}
然后在您的控制器中:
public ActionResult Index()
{
List<SelectListItem> LanguageOption = new List<SelectListItem>{
new SelectListItem { Value = 1.ToString(), Text = "English" },
new SelectListItem { Value = 2.ToString(), Text = "Arabic" },
new SelectListItem { Value = 3.ToString(), Text = "French" }
};
//here you can set selected value
model.SelectedLanguageId = 1;
model.NoofSupportingLanguages = LanguageOption;
return View(model);
}
然后您将可以执行以下操作:
And then you will be able to do like this:
@Html.LabelFor(m => m.NoofSupportingLanguages, "Number of languages to support :")
@Html.DropDownListFor(m => m.SelectedLanguageId, Model.NoofSupportingLanguages, "Select Language")
现在,当您发布模型时,它将自动将选定的LanguageId绑定到SelectedLanguageId
模型属性.
Now when you POST your model it will automatically bind Selected LanguageId to SelectedLanguageId
model property.
这篇关于所需数据未显示在html.dropdownlist MVC中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文