2013-05-16 80 views
0

我是MVC4和Razor語法的新手。我很抱歉的前期,如果這是一個過於簡單的問題,我一直沒能找到答案搜索...MVC4 Razor頁面未顯示內容

我想要做沿以下線的東西...

樣品1

@if (Model.UserDoesNotHaveAccess) 
{ 
    <h1>You do not have access</h1> 
    Response.End(); 
} 

<h1> You do have access </h1> 

當我運行與樣品1代碼的頁面得到了一個空白頁面,如果UserDoesNotHaveAccess是真實的 - 沒有被渲染。當我運行帶有示例2代碼的頁面時,它的工作原理......我不希望將所有內容嵌套到if樣例中,就像我在樣例2中完成的一樣。是否有一種簡單的方法可以獲得與樣例1類似的工作?

樣品2

@if (Model.UserDoesNotHaveAccess) 
{ 
    <h1>You do not have access</h1>  
} 
else 
{ 
    <h1> You do have access </h1> 
} 
+0

通常情況下,如果用戶無權訪問該頁面,您將重定向到操作中的另一個操作/視圖。或者你可以使用Authorize屬性來處理這個。在我看來,我認爲你不需要這種邏輯。 – Banford

+0

謝謝,我想我們會做一個重定向,因爲它是一個遺留應用程序。 –

+2

MVC4遺留應用程序? – James

回答

3

如果你想限制訪問裝飾用[Authorize] 控制器動作,他們將被重定向到登錄頁面

如果您正在使用的角色,你也可以指定哪些角色有權訪問

[Authorize(Roles ="Admin")]

然後,任何不在該角色中的人都將被重定向到登錄。