Невозможно перенаправить на контроллер из @ Html.ActionLink в mvc .net - PullRequest
0 голосов
/ 06 марта 2019

Я пытаюсь зайти на сайт с разных страниц и вернуться по этому URL. Но я не могу позвонить своему контроллеру.

Пусть: Я пытаюсь вызвать контроллер с этого URL: http://localhost:50208/VendorStore/40/Products/Categories

и объявить контроллер на http://localhost:50208/VendorStore/Account/ExternalLoginCallback

но при нажатии на кнопку он перенаправляет на http://localhost:50208/VendorStore/40/Account/ExternalLoginCallback

Код кнопки входа в систему:

 `@Html.ActionLink("Login", "ExternalLoginCallback","Account", new { returnUrl = Request.Url.PathAndQuery }, null) `

Код контроллера:

  [AllowAnonymous]
  public async Task<ActionResult> ExternalLoginCallback(string returnUrl)
    {

    }

Ответы [ 2 ]

0 голосов
/ 06 марта 2019

Использование:

 @Html.ActionLink("Text", "ActionName", "ControllerName", new { Area = "AreaName" }, null)

Примечание: 4-й параметр - передать значения маршрута, если вы передадите пустой параметр, он будет учитывать корневую структуру, а если вы передадите соответствующее значение, он будет использовать его.as area.

Также не забудьте использовать null или new{} в качестве 5-го параметра, поскольку передача null или new {} при создании ссылки действия не будет перегружать метод (текст, действие, контроллер(данные маршрута) или (text,action,controller,route data,html attribute), поэтому используйте правильный метод

В вашем проекте:

@Html.ActionLink("Login", "ExternalLoginCallback", "Account", new { Area = "VendorStore", returnUrl = Request.Url.PathAndQuery  }, null)
0 голосов
/ 06 марта 2019

как я понял, у вас есть область VendorStore, объявленная в URL, если да, то добавьте ее в ActionLink:

@Html.ActionLink("Login", "ExternalLoginCallback","Account", new { area = "VendorStore", returnUrl = Request.Url.PathAndQuery }, null)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...