2017-01-24 2 views
0

У меня есть несколько экземпляров двух сайтов, DEV, QA, UAT-STAGING, UAT, PROD-STAGING и PROD. У меня есть кнопка входа в систему, которая должна быть связана с безопасным порталом.Изменить asp: hyperlink navigationurl на основе субдомена

Итак, когда на DEV пользователь отправится на dev.secure.com, на QA, qa.secure.com, UAT (один), uat.secure.com, PROD (один), secure.com ,

Вот мой фрагмент кода.

  if (Request.Url.AbsoluteUri.Contains("dev.")) 
 
      { 
 
       btn_login.NavigateUrl = "https://dev.secure.com"; 
 
      } 
 
      else if (Request.Url.AbsoluteUri.Contains("qa.")) 
 
      { 
 
       btn_login.NavigateUrl = "https://qa.secure.com"; 
 
      } 
 
      else if (Request.Url.AbsoluteUri.Contains("uat")) 
 
      { 
 
       btn_login.NavigateUrl = "https://qa.secure.coma"; 
 
      } 
 
      else 
 
      { 
 
       btn_login.NavigateUrl = "https://secure.com"; 
 
      }

Это, кажется, работает, но это лучший способ сделать это? Я подумал о правиле перезаписи в web.config, но начал с этого первым.

+1

Большинство приложений, над которыми я работал и создал себя, URL-адрес находится в файле web.config. Просто измените значение, согласно которому сервер его размещает. –

+0

Что-то вроде этого? http://stackoverflow.com/questions/35296405/how-do-use-asp-web-config-variable-as-link –

+0

Да. Просто помните, что если вы заменили весь файл web.config на сервере, вам нужно снова изменить это значение. Всегда рекомендуется редактировать файл конфигурации, а не заменять весь файл. –

ответ

0

Существует много способов добиться этого.

Основная проблема, я вижу в вашем решении, что если ваш URL является:

https://qa.secure.com/somethingdev.aspx или https://QA.secure.com/somethingdev.aspx

он не работает, как ожидалось.

Если вы хотите идти по этому пути вы должны по крайней мере Chek только Host часть Uri

Request.Url.Host.ToLower().Contains("dev.") 

Мой подход в такого рода ситуации, чтобы сохранить URL входа в качестве параметра конфигурации в сети .config или в настраиваемом файле конфигурации или в db

+0

в Интернете Решение .config - это то, что предложил Зэйт, и я реализовал и протестировал эти строки. Ура! –

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