#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)
{
}