0
У меня есть функция, которая заполняет создающий dropdownlist в ASP.NET MVC.ASP.NET MVC3 Dropdownlist никогда не выбирает значение в окне редактирования
public static MvcHtmlString countryDropDown(this HtmlHelper helper, string name, string optionLabel, object selectedValue)
{
XmlDocument doc = new XmlDocument();
doc.Load(HttpContext.Current.Server.MapPath("~/App_Data/countries.xml"));
StringBuilder b = new StringBuilder();
b.Append(string.Format("<select name=\"{0}\" id=\"{0}\">", name));
if (!string.IsNullOrEmpty(optionLabel))
b.Append(string.Format("<option value=\"\">{0}</option>", optionLabel));
foreach (XmlNode node in doc.SelectNodes("//country"))
{
string selected = string.Empty;
if (node.Attributes["name"].Value == selectedValue as string)
{
selected = "selected=\"selected\"";
}
b.Append(string.Format("<option value=\"{0}\" {2}>{1}</option>", node.Attributes["name"].Value, node.Attributes["name"].Value, selected));
}
b.Append("</select>");
return MvcHtmlString.Create(b.ToString());
}
Я использую эту функцию Создать и виды редактирования, как:
@Html.countryDropDown("Country"," ", ViewData["Country"])
Он показывает список стран прекрасно, но проблема в том, что я никогда не выбираю сохраненное значение в странице редактирования. Как изменить код, чтобы он мог выбрать значение на странице редактирования.
Вы пробовали пошагового свой код с помощью отладчика, чтобы понять, почему ваш, если не удастся? –
получает значение null в параметре selectedValue. то есть ViewData ["Страна"] отправляет нуль. – hotcoder
Тогда это может быть вашей проблемой –