MVC使用Razor从视图重定向到动作而不点击

时间:2017-01-11 11:46:19

标签: c# asp.net-mvc url razor

我正在尝试使用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());
    }
}

任何建议?

1 个答案:

答案 0 :(得分:0)

如果您要重定向到错误页面,请在web.config文件中启用CustomError模式。

但是在你的情况下,你正试图重定向到索引操作,这可能是你的应用程序中的项目列表。

通过视图执行此操作有什么用?视图不是用于编写业务逻辑,它应该仅用作视图模板。