我使用的是Asp.net 4 C#2010。 我有两个使用ajaxtoolkit tabcontainer的标签,我想用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在选项卡内的画布上绘制一些东西。 页面加载时,第一个Tab是Selected。
我尝试在$(document).ready。
上解决这两个画布每当使用JavaScript命令document.getElementById
时,会找到第一个画布(选中它的选项卡),但另一个画布(canvas2)会出现错误。
仅仅为了记录,我已经使用asp-control检查了这个东西(虽然这不是我需要的)。
我尝试将asp:TextBox添加到第二个选项卡,然后使用document.getElementById("<%=TextBox1.ClientID%>")
,但它给了我
未捕获的ReferenceError:未定义MainContent_TabContainer_canvas2Tab_TextBox1
我希望我能说清楚。
我可以做些什么来完成这项工作?
答案 0 :(得分:0)
我想我找到了一种方法一次加载所有标签。 ajaxToolkit:TabContainer有一个Property 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
关键是设置
按需=假 这样可以立即加载所有选项卡,而不是单击它们