обратный URL не работает на Live сервере против сервера разработки - PullRequest
0 голосов
/ 05 марта 2012

У меня есть представление MVC3 Razor, в котором есть ссылка, требующая входа пользователя в систему, и его HTML-код выглядит следующим образом:

<a href="Home/Login?returnUrl=/myprojname/Product/Index">

, а затем метод действия Login в homecontroller и представление.Какие значения отправляются в метод действия входа в систему.

внутри метода действия после проверки. Я проверяю, имеет ли returnurl значение NULL, затем перенаправляем на этот URL.В локальной системе он возвращается по этому адресу

http://localhost:1235/myProjname/Product/Index

и работает нормально.Но когда я загружаю его на сервер (IIS 7), он возвращается к

http://domainname/myProjname/Product/Index

и выдает 404, потому что там нет myProjname, если я удалюmyprojname ', он работает с этим URL на живом сервере

http://domainname/Product/Index

, но для этого мне нужно изменить href следующим образом

<a href="Home/Login?returnUrl=/Product/Index">

В этомслучай, он не работает с локальной системой с URL

http://localhost:1235/Product/Index

Пожалуйста, предложите решение

Ответы [ 2 ]

2 голосов
/ 05 марта 2012

Ты серьезно?

Хорошо, мы поиграем.

Решение состоит в том, чтобы правильно создавать ссылки, а не кодировать их жестко.

@Html.ActionLink("Login", "Home", new { returnUrl = Url.Action("Index", "Product") })

Кстати, вам, вероятно, не нужно передавать returnUrl действию. Потяните его назад от Request.UrlReferrer.AbsoluteUri в самом методе действия.

Не имеет смысла звучать грубо, но я настоятельно советую вам перейти на http://www.asp.net/mvc и прочитать / посмотреть, прежде чем продолжить.

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

с использованием вспомогательных методов Url.Action и Url.Content создаст URL-адреса относительно корня приложения и избежит этих проблем.

Кроме того, @Href("~/") создаст полный путь к корню приложения (из представления).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...