读书人

为何 ASP.NET 的 ListBox 控件的 Enab

发布时间: 2012-04-05 12:42:40 作者: rapoo

为何 ASP.NET 的 ListBox 控件的 Enabled 属性不起作用?
我在 ASP.NET 程序中使用 ListBox 控件,但是 Enabled 属性不起作用。示例代码如下所示:

HTML code
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TestForm.aspx.cs" Inherits="WebAppTester.TestForm" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server">  <title>测试页</title></head><body>  <form id="form1" runat="server">  <div>    <asp:ListBox ID="lstTest" Rows="16" runat="server" />  </div>  </form></body></html>

C# code
using System;using System.Web.UI;namespace WebAppTester{  public partial class TestForm : Page  {    protected void Page_Load(object sender, EventArgs e)    {      lstTest.DataSource = Enum.GetNames(typeof(ConsoleColor));      lstTest.SelectedIndex = 4;      lstTest.DataBind();      lstTest.Enabled = false;    }  }}

在上述代码中,我把 ListBox 控件的 Enabled 属设为 false,用于禁用该控件,不让用户选择该 ListBox 中的项目。
但是这没有起到作用,该 ListBox 还是可以进行选择。
请问这是怎么回事?应该如何解决?
谢谢!


[解决办法]
C# code
<asp:ListBox ID="ListBox1" runat="server" Enabled=false Width="126px">                        <asp:ListItem Value="sss"></asp:ListItem>                        <asp:ListItem Value="sss"></asp:ListItem>                        <asp:ListItem Value="sssff"></asp:ListItem>                        <asp:ListItem></asp:ListItem></asp:ListBox>可以, 你把 lstTest.DataSource = Enum.GetNames(typeof(ConsoleColor));      lstTest.SelectedIndex = 4;      lstTest.DataBind();换成遍历添加试试。
[解决办法]
试试纯 HTML的多选菜单 如果还不行说明你的机子浏览器有问题!
C# code
<select name="selectlist" size="23" disabled="disabled" multiple><option>123</option><option>123</option><option>123</option><option>123</option></select>
[解决办法]

这个应该没问题啊。。。

4.0也不会有问题。。ListBox最后生成出来就是个SELECT标签而己

你用JS设置它的disabled="disabled"看看
[解决办法]
<asp:ListBox ID="ListBox1" disabled="disabled" runat="server" >
<asp:ListItem >aaaa</asp:ListItem>
<asp:ListItem >bbbb</asp:ListItem>
</asp:ListBox>
[解决办法]
探讨
我在 ASP.NET 程序中使用 ListBox 控件,但是 Enabled 属性不起作用。示例代码如下所示:
HTML code

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TestForm.aspx.cs" Inherits="WebAppTester.TestForm" %>

<!DOCTYPE html PUB……

[解决办法]
探讨

试了您提供了 HTML 代码示例,会起作用。
我查看了一下我的示例的页面源代码,如下所示:
HTML code

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<html xmlns="http……


[解决办法]
class="aspNetDisabled"
没看到你引用任何CSS。
lstTest.Enabled = false; 的作用也是在select 上加 disabled="disabled"

真没看出你的代码哪出问题了!
重新编译项目试试。

[解决办法]
老外的意思是说 <system.web><pages controlRenderingCompatibilityVersion="3.5"> 改成3.5

你有两种选择。
不用控件生成。多选菜单用<asp:Literal 自己拼装 HTML

按老外说的用3.5

[解决办法]
探讨

Stackoverflow 网站上有一篇相关的帖子:
ASP.NET C# ListBox server control will not disable

[解决办法]
探讨

我新建了以下 CSS 文件:
CSS code

.aspNetDisabled
{
color: Red;
background-color: Aqua;
}


然后在 TestForm.aspx 文件的 <head> 节中引用该 CSS 文件:
HTML code

<head runat="server">
<title>测试页</title>
<link hr……

[解决办法]
不用贴那么多代码,那么多繁重的东西。

完全能禁用!!!
彻底一点,清除你的浏览记录、缓存,清理解决方案、重新生成解决方案,运行页面!
[解决办法]
请你多试几遍,不行设置透明度,或隐藏

读书人网 >asp.net

热点推荐