Я хочу заполнить раскрывающийся список значениями, хранящимися в файле ресурсов. Какой лучший подход для этого?

Я могу создать SelectList и нажать его в Model, и в этом случае раскрывающийся список будет заполнен автоматически. Но могу ли я получить доступ к файлу ресурсов из представления? Если да, я должен?

5
buntykawale 20 Май 2009 в 10:46

3 ответа

Лучший ответ

Все строки ресурсов компилируются в класс, на который вы можете ссылаться в своих представлениях. Пример:

<%= Resources.Strings.MyCustomString %>

Я считаю, что следующее автоматически добавляется в ваш web.config, поэтому вы можете удалить ресурсы ..

<namespaces>
    <add namespace="Resources">
</namespaces>

Однако это не поддерживает локализацию. Для этого вам нужно использовать вспомогательный метод .

Если вы пытаетесь заполнить список, вам необходимо создать вспомогательный класс, который может выполнять итерацию по классу Strings и извлекать соответствующие значения или кодировать ваш выбор в списке, разделенном запятыми, и анализировать / разделять его перед подачей его в раскрывающийся список. список выбора.

8
Todd Smith 20 Май 2009 в 18:21
1
Используя VS2012 и проект MVC 4, мне пришлось вручную добавить это пространство имен в мой файл Web.config; после этого, убедившись, что мой модификатор доступа к файлу ресурсов был установлен как общедоступный, он работал нормально.
 – 
statikuz
7 Фев 2013 в 03:24

Я еще не пробовал, но где-то читал, что ресурсы работают так же, как в веб-формах.

2
Arnis Lapsa 20 Май 2009 в 10:50
Я попытался включить пространство имен в представление, а затем получить к нему доступ с помощью ресурсов, но он не работает.
 – 
buntykawale
20 Май 2009 в 10:59

Используйте следующее:

<%= Resources.Strings.MyCustomString %>

Я не понимаю, что имел в виду Тодд, говоря «он не поддерживает локализацию», это именно то, что он делает.

2
Stacked 14 Ноя 2016 в 16:41