2013-09-24 58 views
1

在我的ASP.NET MVC 4应用程序中,我有一个登录框,它包含在“_Layout”视图中并在所有页面之间共享。验证成功后,我想介绍一些有关登录用户(名字,分数等)的基本数据,而不是登录框。当然,它也需要在每个页面上都可见。什么是实施这个最好的方法?我如何获取数据?您可以在下面看到该框的截图以及我想要实现的功能。ASP.NET MVC 4包含用户数据的共享页面元素

登录之前:

Before log in

之后登录:

After log in

+0

我会建议你在使用继承你的的ViewModels。请看看我给出的答案:http://stackoverflow.com/questions/16986251/razor-mvc-where-to-put-global-variables-thats-accessible-across-master-page-p/16987530 #16987530 –

回答

1

我使用如下:

@if(!Request.IsAuthenticated) 
{ 
    //PartialView with Log In form 
} 
else 
{ 
// PartialView with after Login from 
} 
+0

好吧,那很容易,我已经在我的项目中有这个。问题是如何将数据从控制器传递到局部视图?该方法应该在哪个控制器中? – PGrejc

+0

@PGrejc在这种情况下,这是非常复杂的问题。你应该表明,你有什么想要做的 - 你的模型,控制器等等。你可以在你想要的任何控制器中使用你的方法。至于传递数据 - 与传递任何其他数据有什么不同? –

+0

我已经使用这里描述的方法[链接](http://stackoverflow.com/questions/11538367/getting-data-into-a-partial-view-or-layout-using-mvc4),它完美的工作我。现在我有: @if(!Request.IsAuthenticated) {// @ Html.Action(...)呈现形式 与日志局部视图} 其他 {// @ Html.Action(.. 。)用用户数据渲染局部视图 } 感谢您的帮助! – PGrejc