Я пытаюсь заполнить выпадающий список данными, извлеченными из файла .resx. Вместо того, чтобы иметь 5 различных функций, я хотел бы передать имя файла .resx и каким-то образом отбросить его, чтобы получить его с помощью GetReourceSet.
Вот что я сейчас делаю:
protected void populateCountryPickList(DropDownList whatDropDownList)
{
ResourceSet rs = Resources.CountryPickList.ResourceManager.GetResourceSet(CultureInfo.CurrentCulture, true, true);
whatDropDownList.DataSource = rs;
whatDropDownList.DataTextField = "Value";
whatDropDownList.DataValueField = "Key";
whatDropDownList.DataBind();
}
В приведенном выше примере у меня есть файл .resx с именем CountryPickList.resx, поэтому просто вопрос использования имени .resx для извлечения ResourceSet с использованием GetResourceSet...
То, что я хотел бы сделать, это выяснить, как я могу передать строку своей функции с именем .resx и получить те же результаты.
Любые предложения будут очень благодарны!
веселит,
rise4peace
ResourceManager
имеет конструктор , который принимает имя файла resources
.
Поэтому вы можете написать следующий код:
ResourceSet rs = new ResourceManager(whatDropDownList.Name, GetType().Assembly)
.GetResourceSet(CultureInfo.CurrentCulture, true, true);
EDIT. В ASP.Net это не совсем то же самое. Вы можете просмотреть сгенерированный исходный код (.designer.cs
) для одного из ваших файлов ресурсов и посмотреть на реализацию статического свойства ResourceManager
.
Он выглядит следующим образом:
ResourceManager temp = new ResourceManager("Resources.Resource1", Assembly.Load("App_GlobalResources"));