启用列表框 属性
Enabled property of ListBox
下面是我的 ASP.Net 标记:
<div>
<asp:ListBox ID="listSourceBox" runat="server" DataSourceID="sqlDataSource" SelectionMode="Multiple"
Enabled="false" DataTextField="Title" DataValueField="Id"></asp:ListBox>
<asp:Button ID="btnSourceToDest" Text=">>" runat="server" OnClick="btnSourceToDest_Click" />
<asp:Button ID="btnDestToSource" Text="<<" runat="server" OnClick="btnDestToSource_Click" />
<asp:ListBox ID="listDestBox" runat="server" Enabled="false"></asp:ListBox>
<asp:SqlDataSource ID="sqlDataSource" runat="server" ConnectionString="<%$ConnectionStrings: Movies %>"
SelectCommand="SELECT Id, Title FROM Movies"></asp:SqlDataSource>
</div>
listSourceBox 和 listDestBox 都被禁用。当我 运行 我的应用程序时,它抛出 "Object reference not set to an instance of object" 主要是因为 listSourceBox 被禁用。但是,当我启用 listSourceBox 时,一切正常,理想情况下,应该禁用 listDestBox,但它不是!此外,当 Enabled = false 应该像所有其他 ASP .Net 控件一样禁用 ListBox,但它的行为不同。为什么?
想法?
谢谢!
ASP Listbox
不尊重 Enabled
属性,您需要像这样在后面的代码中明确地做到这一点:-
listSourceBox.Attributes.Add("disabled","");
listSourceBox.Attributes.Remove("disabled");
不过,这与您的 Object Reference error
无关,因为这只是一个属性,您的代码中还有其他问题。
编辑:
如果您的目标是 ASP.NET 4.0,并非设计用于接收用户输入的控件将不会遵守此 属性,因此您需要在 web.config 的 <system.web>
部分中包含以下内容] 文件:-
<system.web>
<pages controlRenderingCompatibilityVersion="3.5">.
</system.web>
之后你可以像这样简单地使用Enabled
属性:-
listSourceBox.Enabled = true;
listSourceBox.Enabled = false;
或者在这样的标记中:-
<asp:ListBox ID="listSourceBox" runat="server" Enabled="false"...
下面是我的 ASP.Net 标记:
<div>
<asp:ListBox ID="listSourceBox" runat="server" DataSourceID="sqlDataSource" SelectionMode="Multiple"
Enabled="false" DataTextField="Title" DataValueField="Id"></asp:ListBox>
<asp:Button ID="btnSourceToDest" Text=">>" runat="server" OnClick="btnSourceToDest_Click" />
<asp:Button ID="btnDestToSource" Text="<<" runat="server" OnClick="btnDestToSource_Click" />
<asp:ListBox ID="listDestBox" runat="server" Enabled="false"></asp:ListBox>
<asp:SqlDataSource ID="sqlDataSource" runat="server" ConnectionString="<%$ConnectionStrings: Movies %>"
SelectCommand="SELECT Id, Title FROM Movies"></asp:SqlDataSource>
</div>
listSourceBox 和 listDestBox 都被禁用。当我 运行 我的应用程序时,它抛出 "Object reference not set to an instance of object" 主要是因为 listSourceBox 被禁用。但是,当我启用 listSourceBox 时,一切正常,理想情况下,应该禁用 listDestBox,但它不是!此外,当 Enabled = false 应该像所有其他 ASP .Net 控件一样禁用 ListBox,但它的行为不同。为什么?
想法?
谢谢!
ASP Listbox
不尊重 Enabled
属性,您需要像这样在后面的代码中明确地做到这一点:-
listSourceBox.Attributes.Add("disabled","");
listSourceBox.Attributes.Remove("disabled");
不过,这与您的 Object Reference error
无关,因为这只是一个属性,您的代码中还有其他问题。
编辑:
如果您的目标是 ASP.NET 4.0,并非设计用于接收用户输入的控件将不会遵守此 属性,因此您需要在 web.config 的 <system.web>
部分中包含以下内容] 文件:-
<system.web>
<pages controlRenderingCompatibilityVersion="3.5">.
</system.web>
之后你可以像这样简单地使用Enabled
属性:-
listSourceBox.Enabled = true;
listSourceBox.Enabled = false;
或者在这样的标记中:-
<asp:ListBox ID="listSourceBox" runat="server" Enabled="false"...