Asp.net 在Tabcontainer中放置combobox时,Get`Object reference未设置为对象的实例`error
我有一个Ajaxtoolkit Tabcontainer,它有两个选项卡,其中启用的第二个选项卡为False。 我在第二个选项卡中放置了一个组合框AjaxToolikit控件。但当服务器在IE浏览器中发生回发时,我得到以下错误。 但在Firefox中,我没有问题,每件事都正常工作。 怎么了 这是我的代码:Asp.net 在Tabcontainer中放置combobox时,Get`Object reference未设置为对象的实例`error,asp.net,Asp.net,我有一个Ajaxtoolkit Tabcontainer,它有两个选项卡,其中启用的第二个选项卡为False。 我在第二个选项卡中放置了一个组合框AjaxToolikit控件。但当服务器在IE浏览器中发生回发时,我得到以下错误。 但在Firefox中,我没有问题,每件事都正常工作。 怎么了 这是我的代码: <ul> <li> <asp:ImageButton ID="BtnNew" Cau
<ul>
<li>
<asp:ImageButton ID="BtnNew" CausesValidation="false" runat="server" ImageUrl="~/CssImages/new_document.png"
ToolTip="New" Width="20px" OnClick="BtnNew_Click" /></li>
</ul>
<cc1:TabContainer ID="TabContainer1" runat="server">
<cc1:TabPanel runat="server" ID="Tab1" HeaderText="xx">
<ContentTemplate>
xx
</ContentTemplate>
</cc1:TabPanel>
<cc1:TabPanel runat="server" ID="TabPanel1" HeaderText="yy" Enabled="false">
<ContentTemplate>
dsds <cc1:ComboBox ID="ComboBox1" runat="server">
<asp:ListItem>loblob</asp:ListItem>
</cc1:ComboBox>
</ContentTemplate>
</cc1:TabPanel>
</cc1:TabContainer>
我相信IE不会提交给服务器禁用的表单元素以及禁用容器中的元素。有很多方法可以解决这个问题。最简单的方法是禁用组合框控件,并使用父选项卡控件启用它。 更一般的决定是修复AjaxControlToolkit库中的组合框源代码。为此,您需要下载库源代码并更改
Server/AjaxControlToolkit/ComboBox/ComboBox.cs
文件中LoadPostData
方法的第一行,如下所示:
protected virtual bool LoadPostData(string postDataKey, NameValueCollection postCollection)
{
if (!Enabled || postCollection.GetValues(HiddenFieldControl.UniqueID) == null)
return false;
//...
}
我相信IE不会提交给服务器禁用的表单元素以及禁用容器中的元素。有很多方法可以解决这个问题。最简单的方法是禁用组合框控件,并使用父选项卡控件启用它。 更一般的决定是修复AjaxControlToolkit库中的组合框源代码。为此,您需要下载库源代码并更改
Server/AjaxControlToolkit/ComboBox/ComboBox.cs
文件中LoadPostData
方法的第一行,如下所示:
protected virtual bool LoadPostData(string postDataKey, NameValueCollection postCollection)
{
if (!Enabled || postCollection.GetValues(HiddenFieldControl.UniqueID) == null)
return false;
//...
}
我遇到了这个问题,尽管我没有使用任何隐藏的面板/控件。 事实证明,后面的designer.cs正在为我生成ComboBox控件,尽管它们在.aspx中被注释掉了 删除我注释掉的实验/提醒代码,一切正常
生成的控件就像是隐藏的一样——回发时会弹出相同的异常。我遇到了这个问题,尽管我没有使用任何隐藏的面板/控件。 事实证明,后面的designer.cs正在为我生成ComboBox控件,尽管它们在.aspx中被注释掉了 删除我注释掉的实验/提醒代码,一切正常
生成的控件就像被隐藏一样--回发时会弹出相同的异常。发布代码将极大地帮助您获得答案。发布代码将极大地帮助您获得答案。