如何在视图结果对象中传递消息?

时间:2018-06-02 11:35:59

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

授权失败后,我将用户重定向回登录页面,该页面有效,但我也想传递一条消息。

我正在扩展AuthorizeAttribute类并重写方法。

span

然后使用CustomeAuthorize我想要授权访问授权角色。

我尝试传递消息但不起作用。

1 个答案:

答案 0 :(得分:2)

使用ViewBag

尝试此操作
filterContext.Result = new ViewResult { ViewName = "~/Views/Login/Login.cshtml" };     
ViewBag.ErrorMsg = "Not authorized";

在重定向的视图中,请调用以下内容:

@ViewBag.ErrorMsg;

或者您可以创建一个模型来呈现该错误消息,如下所示:

public class Render {
    public string Msg { get; set;}
}

在控制器中:

aRender.Msg = "Not authorized"; //aRender is an object here

同样在视图中调用它:

@model YourProjectNameSpace.YourModel

 @Model.Msg;