【问题标题】:ASP tabcontainer problems with clientID带有 clientID 的 ASP tabcontainer 问题
【发布时间】:2013-11-16 06:14:18
【问题描述】:

我想在标签为 2 时隐藏按钮。总是出错。

<script type="text/javascript">

function clientActiveTabChanged(sender, args) {
if ((sender.get_activeTabIndex()) == '2')
{
    alert(sender.get_activeTabIndex());
    var messageElement = document.getElementById('<%= divMessage.clientID%>').value;
    messageElement.style.display = 'block';
}
}
</script>

<body>
<form id="form1" runat="server">
 <asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server" 
    EnableScriptGlobalization="True"></asp:ToolkitScriptManager>

<asp:TabContainer ID="TabContainer1" runat="server" ActiveTabIndex="0"  
            Width="100%" BorderStyle="None" OnClientActiveTabChanged="clientActiveTabChanged"> 

     <asp:TabPanel runat="server"  ID="TabPanel1"> 
      <HeaderTemplate>Test1</HeaderTemplate>
      <ContentTemplate></ContentTemplate>
    </asp:TabPanel>

  <asp:TabPanel runat="server"  ID="TabPanel2"> 
      <HeaderTemplate>Test2</HeaderTemplate>
      <ContentTemplate></ContentTemplate>
    </asp:TabPanel>

  <asp:TabPanel runat="server"  ID="TabPanel3"> 
      <HeaderTemplate>Test3</HeaderTemplate>
      <ContentTemplate></ContentTemplate>
    </asp:TabPanel>

 </asp:TabContainer>
 <div runat="server" id="divMessage" style="display: none;">
 <asp:Button ID="Button1" runat="server" Text="Button" />
</div> 


</form>

</body>
</html>

【问题讨论】:

  • “总是出错”我错过了这个错误。
  • [HttpException (0x80004005): De Controls-verzameling kan niet worden gewijzigd omdat het besturingselement codeblokken bevat (ie ).] System.Web.UI.ControlCollection.Add(Control孩子)+9600651

标签: javascript asp.net vb.net asp.net-ajax tabcontainer


【解决方案1】:

您正在按钮元素上使用 .value。这将返回按钮的文本,它是一个字符串并且没有样式。以下应该工作。 另外,您提到要隐藏它,但您将显示设置为阻止。应该没有。

var messageElement = document.getElementById('<%= divMessage.clientID%>');
messageElement.style.display = 'block';

【讨论】:

  • 这样:function clientActiveTabChanged(sender, args) { if ((sender.get_activeTabIndex()) == '2') { alert(sender.get_activeTabIndex()); var messageElement = document.getElementById(''); messageElement.style.display = '无'; } }
  • 错误:[HttpException (0x80004005): De Controls-verzameling kan niet worden gewijzigd omdat het besturingselement codeblokken bevat (ie ).] System.Web.UI.ControlCollection.Add (控制孩子)+9600651
猜你喜欢
  • 2012-09-13
  • 2011-04-12
  • 2010-11-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-22
相关资源
最近更新 更多