2011-09-26 105 views
0

在我的網站上,當用戶登錄時,我想顯示用戶名並顯示一個註銷按鈕。asp.net mvc3使用母版頁

在ASP.NET 4.0中,我們可以使用母版頁文件背後的代碼來編寫這樣一個常見的代碼。但我不知道如何在MVC3中實現這一點。我不想在每個頁面視圖上傳遞用戶名,並在每個控制器上添加註銷操作鏈接。

任何人都可以提出更好的方法嗎?

感謝

Saarthak

回答

1

你可以使用一個部分。默認模板就是這樣做的。使用內置嚮導創建一個新的ASP.NET MVC 3應用程序,並查看_LogOnPartial.cshtml部分,該部分已爲您生成,其中的部分使用@Html.Partial("_LogOnPartial")_Layout.cshtml中調用。

這部分看起來像這樣:

@if(Request.IsAuthenticated) { 
    <text>Welcome <strong>@User.Identity.Name</strong>! 
    [ @Html.ActionLink("Log Off", "LogOff", "Account") ]</text> 
} 
else { 
    @:[ @Html.ActionLink("Log On", "LogOn", "Account") ] 
} 

它檢查用戶進行身份驗證,如果它是歡迎他,並提供一個註銷鏈接,如果他是不是僅僅提供一個登錄鏈接。

同樣的東西,如果你正在使用的WebForms視圖引擎:

LogOnUserControl.ascx這是從Site.Master使用<% Html.RenderPartial("LogOnUserControl"); %>調用。