我只是想看看其他人是否会得到与我相同的行为。
我有一个名为 GridViewEx 的类,它扩展了 GridView。该类中的属性之一具有 Browsable(true) 作为注释。这允许(至少在 IIS 7.5 之前)在标记中设置属性。但在 Windows 7 IIS 7.5 上,它给出了解析器错误。请注意,在装有 IIS 7.5 的 Win 2008 服务器上,该应用程序运行良好。
所以我想知道是不是Win7中的一些IIS 7.5设置搞砸了。
重现步骤
a) 创建新的 ASP.Net 应用程序,框架版本使用 4.0
b) 创建一个名为 GridViewEx 的新类(get/set 只是虚拟代码,并不重要):
namespace GUI.Controls
{
public class GridViewEx : GridView
{
[Browsable(true)]
[Description("my test")]
public int VirtualItemCount
{
get
{
return 42;
}
set
{
int x = value;
int y = x + x;
}
}
}
}
c) 在 Default.aspx 中,注册标记前缀(将 WebApplication1 更改为您对项目的名称)。此行应位于 Page 指令的正下方。
<%@ Register TagPrefix="common" Namespace="GUI.Controls" Assembly="WebApplication1" %>
d) 在 Default.aspx 中,将其添加到您的内容中:
<common:GridViewEx runat="server" ID="gv" VirtualItemCount="-1">
</common:GridViewEx>
如果我在 IIS 7.0 或更早版本上运行此应用程序,则不会出现错误。但是,在 Win 7 IIS 7.5 上,它给出了以下错误:
Parser Error
Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.
Parser Error Message: The 'VirtualItemCount' property cannot be set declaratively.
我不明白为什么我在 Win 7 IIS 7.5 上得到错误,但在早期的 IIS 版本上没有,在 Win 2008 服务器上的 IIS 7.5 上没有。有任何想法吗?