Перенаправить пользователя на страницу, если запрос с определенного диапазона IP - PullRequest
0 голосов
/ 08 марта 2012

В моем файле Global.asax.cs я создал метод Session_Start:

protected void Session_Start(object sender, EventArgs e)
{
    //Get the incoming user's IP address.
    var ip = HttpContext.Current.Request.UserHostAddress;

    if (Helpers.RedirectHelpers.IpIsWithinBoliviaRange(ip))
    {
        //Render the bolivia page.
    }
    else
    {
        //Render the regular layout page.
    }
}

Если код в методе IpIsWithinBoliviaRange() уже закодирован и работает, как мне перенаправить запрос, чтобы пользователь прозрачно увидел страницу, которую я закодировал?

Вот снимок решения, чтобы вы могли получить лучшую картинку:

enter image description here

Содержимое _Layout.cshtml - это то, что вы ожидаете, ничего необычного.

В файле _BoliviaLayout.cshtml я сделал что-то другое:

@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <title>BOLIVIA PAGE</title>
</head>
<body>
    <div>

    </div>
</body>
</html>

Как я могу отобразить эту страницу, если кто-то из Боливии заходит на сайт? Что мне нужно сделать, чтобы вызвать рендеринг этого «представления»?

1 Ответ

1 голос
/ 08 марта 2012

Вы должны сделать это в ~/Views/_ViewStart.cshtml

@{
    Layout = Helpers.RedirectHelpers.IpIsWithinBoliviaRange(Request.UserHostAddress) ? "~/Views/Shared/_BoliviaLayout.cshtml" : "~/Views/Shared/_Layout.cshtml";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...