我有 4 个服务器端 ListBox 控件。所有这些都将其 Enabled 属性设置为 false,但在呈现时它们肯定是启用的。它们都是多选的。这些没有数据绑定(bind)或触摸它们背后的任何代码。下面是所有这些的标记(保存 ID)。我正在使用 IIS6 运行 .NET Framework v4。
<asp:ListBox runat="server" ID="lstProduct" Enabled="false" SelectionMode="Multiple" Rows="6"></asp:ListBox>
这是运行时生成的标记:
<select size="6" name="ctl00$ctl00$MainContent$MainContent$lstProduct" multiple="multiple" id="MainContent_MainContent_lstProduct" class="aspNetDisabled">
最佳答案
我找到了一个解决方案。在<system.web>
web.config 部分,您必须添加 <pages controlRenderingCompatibilityVersion="3.5">
.
在 Asp.net 4.0 中,任何不接受特定用户输入(文本框或密码)的控件都不会使用 disabled="disabled"
呈现。 Control.Enabled = false
时的属性已设置。
关于c# - ASP.NET C# ListBox 服务器控件不会禁用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3709483/