我正在使用Asp.net 4 C# 2010。我有两个选项卡,使用ajaxtoolkit表容器,我希望使用javascript来处理内部的元素。
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<ajaxToolkit:TabContainer runat="server" ScrollBars="Auto" ActiveTabIndex="0"
OnDemand="true" AutoPostBack="false" TabStripPlacement="Top"
CssClass="ajax__tab_xp" VerticalStripWidth="120px" ID="TabContainer">
<ajaxToolkit:TabPanel ID="canvas1Tab" runat="server" Enabled="true"
ScrollBars="Auto" OnDemandMode="Once">
<ContentTemplate>
<canvas id="canvas1" width="300" height="300" />
Your browser doesn't support html 5 or Canvas. Please upgrade to the lasted
</canvas>
</ContentTemplate>
</ajaxToolkit:TabPanel>
<ajaxToolkit:TabPanel ID="canvas2Tab" runat="server" Enabled="true"
ScrollBars="Auto" OnDemandMode="Once">
<ContentTemplate>
<canvas id="canvas2" width="300" height="300" />
Your browser doesn't support html 5 or Canvas. Please upgrade to the lasted
</canvas>
</ContentTemplate>
</ajaxToolkit:TabPanel>
</ajaxToolkit:TabContainer>现在我想用javaScript在标签内的画布上画一些东西。当页面加载时,第一个选项卡就是选中的选项卡。
我试图解决$(document).ready上的两个画布。
每当使用JavaScript命令document.getElementById时,都会找到第一个画布(它的选项卡被选中),而另一个画布(canvas2)出现错误。
为了记录在案,我使用asp-控件检查了这个东西(尽管这不是我所需要的)。我尝试将asp:TextBox添加到第二个选项卡,然后使用document.getElementById("<%=TextBox1.ClientID%>"),但它给了我
未定义的ReferenceError: MainContent_TabContainer_canvas2Tab_TextBox1未定义
我希望我说得很清楚。
我能做些什么才能让这件事成功?
发布于 2012-10-17 08:08:20
我想我找到了一种同时加载所有标签的方法。ajaxToolkit:TabContainer有一个属性OnDemand。
OnDemand - Whether to render/load tabs onDemand or all at page load如果将OnDemand设置为true,则可以向每个选项卡添加属性OnDemandMode。
OnDemandMode - When container's onDemand is true then whether to load tab - Always, Once, None关键是要设置
OnDemand=false使所有选项卡同时加载,而不是单击它们。
https://stackoverflow.com/questions/12928915
复制相似问题