Изменение столбцов сетки Telerik на основе Appsetting - PullRequest
0 голосов
/ 22 апреля 2011

У меня есть Html.Telerik (). Grid (), который привязан к модели в моем представлении MVC.Я хочу, чтобы он возвращал ссылку, основанную на значении в appsettings в web.config.По сути, если это сервер разработки, то показывать ссылки, но не на рабочем сервере, это возможно?Я использую Ajax-привязку, и мой связанный столбец выглядит следующим образом:

columns.Bound(f => f.TechnicalKey)
       .ClientTemplate("<# if (FileName != 'status.txt' && StatusText=='PROCESSED') { #><a href='/AType/DownloadAFile/<#= TechnicalKey #>'>Download</a> <# } else { #>Not available<# } #>")
       .Title("").Filterable(false);

Я хочу, чтобы status.txt был ссылкой на разработку, но не на разработку (как сейчас)

Спасибо.Jack

Ответы [ 2 ]

0 голосов
/ 08 мая 2011

Я на самом деле достиг этого, добавив свойство в объекте домена следующим образом:

    public bool isProduction
    {
      get
      {
        return ConfigurationManager.AppSettings["ActivationURL"].Contains("production");
      }
    }

, а затем в представлении, которое я имел:начальные данные, связанные с сервером, и более поздние данные, связанные с Ajax.

0 голосов
/ 06 мая 2011

Вам необходимо установить шаблон клиента по-разному, в зависимости от того, развернуто ваше приложение или нет:

if (/* some check to see if on production which is specific to your implementation */) {
columns.Bound(f => f.TechnicalKey)
       .ClientTemplate("<# if (FileName != 'status.txt' && StatusText=='PROCESSED') { #>Download <# } else { #>Not available<# } #>")
       .Title("").Filterable(false);

} else {
columns.Bound(f => f.TechnicalKey)
       .ClientTemplate("<# if (FileName != 'status.txt' && StatusText=='PROCESSED') { #><a href='/AType/DownloadAFile/<#= TechnicalKey #>'>Download</a> <# } else { #>Not available<# } #>")
       .Title("").Filterable(false);
}
...