2011-11-22 78 views
0

我正在使用ASP.NET 3.0 MVC與成員資格提供程序。我必須對使用會員相關代碼獲得的默認實現進行修改。我必須在主頁面中移動LogOff超鏈接。最初這個鏈接是不可見的,但一旦認證成功,我需要使其可見。此操作將從Controller進行身份驗證,我不確定如何訪問在不同控制器的母版頁中定義的超鏈接。任何想法如何能夠實現MVC設計的精神?訪問來自不同控制器的主頁超鏈接

回答

1

您可以在您的AccountController中創建另一個動作來確定是否需要顯示註銷鏈接。此操作對html有部分偏好。從主頁面調用此新操作,並在需要顯示註銷鏈接時檢入該操作。

@{ Html.RenderAction("displayLogOff", "Account"); } 
+0

我需要做相反的事情。一旦用戶在(AccountController)中進行了身份驗證,我想要顯示此超鏈接。 –

+0

是否要將註銷鏈接從主頁面移動到登錄頁面? – Dallas

+0

否;將其保留在母版頁中,但希望通過其中一個內容頁使其可見 –

0

我不知道爲什麼你需要進行修改,因爲這似乎是默認行爲,但通常你會使用局部視圖來顯示註銷超鏈接。這個局部視圖可以運行一個動作,並且在這個動作中,你可以發送一個模型到視圖中,該視圖可以包含一個用於當前用戶身份驗證的標誌。或者,您可以直接在部分視圖中檢查Request.IsAuthenticated。

0

我不知道我理解。默認的實現已經這樣做了。無論您使用的是什麼控制器,它都可以工作。原因是母版頁使用指定方法和控制器的部分頁面。