您好,我想使用剃刀视图从_layout.htmlcs重定向到页面。...
我已经尝试了很多方法来做出响应。重定向工作但失败了...
<div class="navbar-collapse collapse ">
<ul class="navbar-nav flex-grow-1">
@if (User.Identity.IsAuthenticated){
@if (User.IsInRole("Admin")){
Response.Redirect("~/Pages/Admin/AddAccount");
}
if (User.IsInRole("User")){
Respnse.redirect可能正常工作,或者必须使用其alter native ...
答案 0 :(得分:2)
视图仅用于呈现页面。据推测,如果您要执行此步骤,则已经确定这是您要呈现的页面。
如果要重定向,则将从控制器方法中返回RedirectResult
而不是ViewResult
。有些方法可以返回RedirectResult
,例如
Redirect(someUrl);
RedirectToAction(actionName, controllerName)
...以及其他,以及这些的重载。
我建议使用RedirectToAction
,因为即使您输入的值有误也可以编译,但Visual Studio至少可以直观地表明您所引用的控制器和操作存在。
无论您要在视图中检查哪些条件以确定是否要重定向,都只需在控制器中进行检查即可。
答案 1 :(得分:1)
使用<a asp-page="/Admin/AddAccount">Add Account</a>