2010-04-20 71 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