ASP.net ЕСЛИ запрос.Url.Host == Подстановочный знак

#asp.net-mvc

#asp.net-mvc

Вопрос:

Как мне использовать подстановочный знак в URL-адресе моего сравнения для Request.URL.Host? У меня есть сайт, который работает уже много лет, а тестовый сайт отображается синим цветом. При сравнении использовался весь URL-адрес.

     @if (Request.Url.Host == "URLtest.site.com") //
    {
    bodyclass = "test";
    }
  

Мы добавляем второй тестовый сайт, и я хотел бы установить это один раз. Поэтому я хотел бы использовать подстановочный знак. Что-то вроде этого, но, похоже, это не работает. Я уверен, что мне не хватает чего-то простого.

 @if (Request.Url.Host == "*test.*") //
{
    bodyclass = "test";
}
  

Комментарии:

1. Я считаю, что вы должны использовать регулярное выражение для этого сравнения.

Ответ №1:

Вы можете использовать регулярное выражение, как предложено в других ответах.

Более простой проверкой было бы использовать string .Содержит()

 @if (Request.Url.Host.Contains("test.")) //
{
    bodyclass = "test";
}
  

Комментарии:

1. Спасибо. Я начал по этому пути, но не был уверен, как установить оператор if с помощью contains . Это именно то, что я искал.

Ответ №2:

Пожалуйста, используйте метод сопоставления регулярных выражений

 using System.Text.RegularExpressions;


var pattern = @"w*test.w*";
string input = "url2test.site.com";
var match = Regex.Match(input, pattern, RegexOptions.IgnoreCase);
if (match .Success)
{
}