Я очень новичок в веб-разработке, и я изо всех сил пытаюсь понять, почему мой код перенаправления на самом деле не перенаправляет на указанную страницу. Код определенно выполняет строку перенаправления, поскольку я вижу, как он проходит через строку, когда я запускаю на локальном хосте.
Поскольку я очень новичок в веб-разработке, возможно, я не подошёл к этому самым оптимальным образом, но я создал класс для получения страны по IP-адресу через API-вызов ipstack.com. В качестве входных данных используется IP-адрес, и я получаю его через ipify.org.
Как я уже сказал, это, возможно, не самый оптимальный способ сделать это, но он работает. Я могу с радостью распечатать IP и страну на странице.
Последний момент, перенаправление в зависимости от страны, ставит меня в тупик. Это код, который у меня есть в index.cshtml.cs
public class IndexModel : PageModel
{
public void OnGet()
{
string UserCountry = null; Microsoft.AspNetCore.Mvc.ActionResult x;
//This is my class that gets the country from the IP
UserCountry = redirect.getCountry();
if (UserCountry == "MX"
{ x = Redirect("http://www.example.com/mx"); }
else
{ x = Redirect("http://www.example.com/us"); }
}
}
Код, кажется, успешно компилируется, и если я ставлю разрыв в строке: if (UserCountry... я вижу, что UserCountry определенно устанавливается в правильную страну (я тестировал с MX и IP-адресом в США) и оба пути кода выполняются, но перенаправление никогда не происходит.
Если я проверю x, я увижу правильный URL-адрес в свойстве URL-адреса x, но я предполагаю, что это из входного параметра. Существует логическое свойство x, называемое постоянным, которое ложно. Мне интересно, должно ли это быть правдой, но я не понимаю, как я могу это установить (я пытался передать true в качестве второго параметра, но тогда VS жалуется).
Я пробовал несколько вариантов, предложенных здесь, но я не могу заставить ни один из них работать. Кажется, что большинство из них выдает синтаксические ошибки в определении для меня, что, как я знаю, вероятно, связано с тем, что я сделал что-то неправильно, неправильно настроив его, но поскольку я не могу понять, как это должно быть настроено, мой результат Я не могу заставить его работать.