我正在尝试使用Razor在不点击的情况下从视图重定向到操作。 有时在加载页面时会发生错误。
我试了一下catch catch来重定向。
查看:
@{
var x = Session["Username"];
try
{
if (x.ToString().Equals(item.User.UserName))
{
<td>
@Html.ActionLink("تعديل", "Edit", new { id = item.NotificationID }) |
@Html.ActionLink("التفاصيل", "Details", new { id = item.NotificationID }) |
@Html.ActionLink("حذف", "Delete", new { id = item.NotificationID })
</td>
}
}
catch (Exception e)
{
Response.Redirect("~/Views/Home/Index.cshtml");
//I want to redirect to an action, not view.
}
}
编辑:
家庭控制器:
[Authorize]
[AuthorizeUserAccessLevel(UserRole = "Manager,Reviewer")]
public class HomeController : Controller
{
TheUnitOfEnternalAuditEntities db = new TheUnitOfEnternalAuditEntities();
public ActionResult Index()
{
var username = User.Identity.Name;
username = username.Replace("NCA\\", "");
User user = db.Users.Where(u => u.UserName.Equals(username)).First();
Session["UserName"] = username;
Session["UserID"] = user.UserID;
Session["UserFirstName"] = user.FirstName;
Session["UserFullName"] = user.FullName;
Session["UserRole"] = user.Role.RoleID;
var Departments = db.Departments.ToList();
ViewBag.Departments = Departments;
return View(db.Departments.ToList());
}
}
任何建议?
答案 0 :(得分:0)
如果您要重定向到错误页面,请在web.config文件中启用CustomError模式。
但是在你的情况下,你正试图重定向到索引操作,这可能是你的应用程序中的项目列表。
通过视图执行此操作有什么用?视图不是用于编写业务逻辑,它应该仅用作视图模板。