public abstract partial class BaseController : Controller
{
protected override void OnResultExecuted(ResultExecutedContext filterContext)
{
if (Session["GeneralUserFullname"] != null)
{
ViewData["Username"] = Session["GeneralUserFullname"];
}
base.OnResultExecuted(filterContext);
}
}
在_Layout.cshtml之后。我打电话给 ViewData ["用户名"] 打印名称以设置登录。我已经发布了, ViewData ["用户名"] 可以获得正确的价值。
但它始终会出错: 不允许子操作执行重定向操作。
Line 88: <a class="dropdown-toggle" data-toggle="dropdown">
Line 89: <img src="http://placehold.it/300">
Line 90: <span>@ViewData["Username"]</span>
Line 91: <i class="caret"></i>
Line 92: </a>
请提出建议。感谢
答案 0 :(得分:0)
标记的渲染可能会给你带来奇怪的错误。尝试通过添加结束标记来更正<img src=... />
&lt; -----的标记。
答案 1 :(得分:0)
如果您想让所有观看者都可以使用此
public abstract partial class BaseController : Controller
{
protected override void OnActionExecuting(ActionExecutingContext ctx)
{
base.OnActionExecuting(ctx);
ViewData["user"] = "user";
}
}
OnActionExecuting将在调用您的操作之前触发,一旦您在OnActionExecuting函数中,您将用户设置在ViewData变量中,因此可用于所有渲染视图。
在视图上然后打印它
@ViewData["user"]