2013-09-24 29 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