Я использую Asp.net 4 С# 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. Когда страница загружается, первая вкладка является выбранной.
Я пытаюсь обратиться к двум холстам на $(document).ready.
Всякий раз, когда используется команда JavaScript document.getElementById
, обнаруживается первый холст (тот, на котором выбрана вкладка), но другой (canvas2) выдает ошибку.
Просто для протокола, я проверил это с помощью asp-control (хотя это не то, что мне нужно). Я попытался добавить asp:TextBox на вторую вкладку, а затем использовать document.getElementById("<%=TextBox1.ClientID%>")
, но это дает мне
Uncaught ReferenceError: MainContent_TabContainer_canvas2Tab_TextBox1 не определен
Надеюсь, я ясно выразился.
Что я могу сделать, чтобы это сработало?