2013-10-09 3 views
0

Я ищу способ расширить свое приложение, чтобы использовать файл ресурсов конкретного клиента. В настоящее время у меня есть файлы ресурсов для разных культур, которые работают нормально. Но теперь я хочу иметь другой файл ресурсов для каждого клиента, и если у меня нет клиентского файла, он должен загрузить его по умолчанию.Клиентские файлы ресурсов в asp.net

Это то, что я делаю в данный момент:

App_GlobalResources GR.resx GR.ru-RU.resx

и я прочитал ресурс, как этот

текст =»<% $ Ресурсы : GR, дом%>»

ИЛИ

GetGlobalResourceObject ("GR", "дом")

Это то, что я хочу: App_GlobalResources GR.resx GR.ru-RU.resx

Client1 GR.resx GR.ru-RU.resx

Client2 GR.resx GR.ru-RU.resx

Я не хочу менять код на своих страницах так, как я читаю ресурсы, возможно ли это?

+0

Что вы подразумеваете под клиентом? –

+0

Извините, что я имел в виду клиента ... один клиент может сказать «начать» с «дома», поэтому я хочу, чтобы у каждого клиента был другой файл ресурсов. –

+0

В теории я понимаю ваш вопрос, но не представляю, как это будет работать у пользователя (клиента). У пользователя будет возможность определить собственный словарь (каждое слово) или что? Как вы знаете, ресурсы связаны с языком и культурой, но это всегда будет только один вариант. В вашем решении каждый пользователь требует собственный словарь, но откуда мы должны принимать значения для словаря?Ключи Beacuse довольно очевидны. –

ответ

0

Ok Safeer, после обсуждения в комментариях, я действительно понимаю вашу проблему. Я бы использовал следующее решение. Основываясь на вашем примере с прибылью:

  1. Приготовьте несколько различных записей на прибыль (в зависимости от типа клиента или любой другой):

    • key1: "Type1Profit" значение: "Доступный Profit"
    • key2 : "Type2Profit" значение: "Общая прибыль"

Где TypeN это ваш тип клиента.

После того, что в силу сделать что-то вроде этого:

text='<%$ Resources:GR, string.Format("{0}Profit", customer.Type) %>' 

Или

GetGlobalResourceObject("GR",string.Format("{0}Profit", customer.Type)) 

Благодаря этому решению вы должны получить ключ, который вы хотите, и, конечно, определенное значение для клиента.

+0

Спасибо за ваше предложение, но я должен был бы изменить код во многих местах, я боюсь. Я думаю, мне нужно будет написать пользовательскую модель поставщика ресурсов и посмотреть в конкретном каталоге клиента что-то вроде этого http://msdn.microsoft.com/en-us/library/aa905797.aspx –

Смежные вопросы