razor Html.DropdownList укажите «Пожалуйста, выберите» в качестве optionLabel И «США» в качестве selectedValue

Данные :

var countries = new Dictionary<string,string>();
countries.Add("AF","Afghanistan");
countries.Add("US","United States");
countries.Add("FR","France");

Razor :

@Html.DropdownList("Countries",new SelectList(countries, "key", "value", "US"), "Select Country")

Проблема : в моей бритве я указываю " США " для selectedValue и «Select Country» для optionLabel. Я ожидаю, что это вставит «Select Country» как первый элемент в раскрывающемся списке, И будет «US « уже выбран для меня.

Что происходит на самом деле : « Выбрать страну » вставлено, но « США » НЕ выбрано. » Выберите страну » is.

Вопрос : можно ли получить и то, и другое? Где Razor вводит « Пожалуйста, выберите », но также предварительно выбирает « США » как значение по умолчанию?

Обратите внимание на : я получаю данные из таблицы в своей базе данных, поэтому я бы предпочел, чтобы там не было фактической строки с «Пожалуйста, выберите», или мне пришлось бы вставлять ее самостоятельно в словарь. Проще сделать Model.Countries = dbRepo.GetCountries () в моем контроллере, чем объявлять пустой словарь , добавляя «Пожалуйста, выберите», затем перебирая .GetCountries () и добавляя в исходный словарь перед установкой его в Model.Countries для моего представления.

Спасибо!

8
задан Ian Davis 27 January 2012 в 16:14
поделиться