在我的ASP.NET MVC 4應用程序中,我有一個登錄框,它包含在「_Layout」視圖中並在所有頁面之間共享。驗證成功後,我想介紹一些有關登錄用戶(名字,分數等)的基本數據,而不是登錄框。當然,它也需要在每個頁面上都可見。什麼是實施這個最好的方法?我如何獲取數據?您可以在下面看到該框的截圖以及我想要實現的功能。ASP.NET MVC 4包含用戶數據的共享頁面元素
登錄之前:
之後登錄:
在我的ASP.NET MVC 4應用程序中,我有一個登錄框,它包含在「_Layout」視圖中並在所有頁面之間共享。驗證成功後,我想介紹一些有關登錄用戶(名字,分數等)的基本數據,而不是登錄框。當然,它也需要在每個頁面上都可見。什麼是實施這個最好的方法?我如何獲取數據?您可以在下面看到該框的截圖以及我想要實現的功能。ASP.NET MVC 4包含用戶數據的共享頁面元素
登錄之前:
之後登錄:
我使用如下:
@if(!Request.IsAuthenticated)
{
//PartialView with Log In form
}
else
{
// PartialView with after Login from
}
好吧,那很容易,我已經在我的項目中有這個。問題是如何將數據從控制器傳遞到局部視圖?該方法應該在哪個控制器中? – PGrejc
@PGrejc在這種情況下,這是非常複雜的問題。你應該表明,你有什麼想要做的 - 你的模型,控制器等等。你可以在你想要的任何控制器中使用你的方法。至於傳遞數據 - 與傳遞任何其他數據有什麼不同? –
我已經使用這裏描述的方法[鏈接](http://stackoverflow.com/questions/11538367/getting-data-into-a-partial-view-or-layout-using-mvc4),它完美的工作我。現在我有: @if(!Request.IsAuthenticated) {// @ Html.Action(...)呈現形式 與日誌局部視圖} 其他 {// @ Html.Action(.. 。)用用戶數據渲染局部視圖 } 感謝您的幫助! – PGrejc
我會建議你在使用繼承你的的ViewModels。請看看我給出的答案:http://stackoverflow.com/questions/16986251/razor-mvc-where-to-put-global-variables-thats-accessible-across-master-page-p/16987530 #16987530 –