2010-04-20 58 views
0

我試圖發展VS 2008/WinXP中簡單的Web部件

Web部件我創建了一個網站項目,並默認窗體中添加幾個Web部件在default.aspx

<form id="form1" runat="server"> 
<div> 
    <asp:WebPartManager ID="WebPartManager1" runat="server"> 
    </asp:WebPartManager>  
    <asp:WebPartZone ID="WebPartZone1" runat="server"> 
    </asp:WebPartZone>  
</div> 
</form> 

當我第一次運行它(在調試器中),告訴我一個彈出啓用IIS的Windows身份驗證(這樣的東西是工作!)。我啓用了Windows身份驗證,現在當我運行它時,我得到一個空白屏幕。如果我通過url(而不是調試器)在IE中打開它,結果相同。

注 - 源視圖顯示大量一個JavaScript的 - 特別是,它聲明一個的WebPartManager對象,並增加了一個區到它(__wpm.AddZone(..)

回答

1

由於Windows用戶帳戶 控制(UAC ),當與 Windows Vista或Windows Server 2008, 一起使用時,本地管理員組將 的行爲與其他組的行爲不同。 該屬性不會 正確識別 本地管理員組的成員,除非您 修改了您計算機的UAC設置。

準確地說,當您嘗試調用控制器操作而沒有正確的權限時,會發生什麼情況取決於啓用的身份驗證的類型。默認情況下,使用ASP.NET開發服務器時,您只需獲得一個空白頁面。該頁面提供401 Not Authorized HTTP Response Status。

另一方面,如果您正在使用禁用匿名身份驗證並啓用基本身份驗證的IIS,則每次請求受保護的頁面時都會收到登錄對話框提示。

+0

是因爲個性化嗎?如果是的話,是否有禁用它? tks – 2010-04-26 20:45:26

+0

「Personalization」是否意味着Web部件僅在啓用某種類型的站點身份或登錄時才起作用?我的理解是,這是必需的 - 這就是爲什麼它不適用於匿名登錄。通過啓用Windows身份驗證,然後設置WebPartManager.DisplayMode,我得到了它的工作。 – 2010-04-28 00:11:29

+0

謝謝!繼此之後... 1.它不會與匿名身份驗證(在IIS-> - >屬性 - >目錄安全 - >匿名訪問...)下工作2.使用Windows身份驗證,它在調試器中工作( F5),但僅限於當前的登錄ID。 3.使用基本身份驗證,它提示輸入用戶名和密碼,但不能在調試器中工作(即,在瀏覽器中使用localhost url運行它)。 4. [主要問題] WebPartManager和WebPartZone本身不會顯示任何內容 - 設置「this.WebPartManager1.DisplayMode = WebPartManager.ConnectDisplayMode;」和/或將Web部件添加到區域。 – 2010-04-28 00:15:12