Я просто пытаюсь обновить пользовательский элемент управления (который содержит повторитель) из события onchange раскрывающегося списка, которое запускает некоторый JavaScript.
Итак, выпадающий список и панель обновления таковы: -
<asp:UpdatePanel runat="server" ID="pnlPanelStageBandLetterTemplate" Visible="false" UpdateMode="Conditional">
<ContentTemplate>
<asp:DropDownList runat="server" ID="ddlBand">
<asp:ListItem Selected="True" Text="1" Value="1" />
<asp:ListItem Text="2" Value="2" />
<asp:ListItem Text="3" Value="3" />
<asp:ListItem Text="4" Value="4" />
<asp:ListItem Text="5" Value="5" />
<asp:ListItem Text="6" Value="6" />
</asp:DropDownList>
<panelStageLetters:PanelStageBandLetterTemplate id="psbltPanelStageBandLetterTemplate" runat="server">
</panelStageLetters:PanelStageBandLetterTemplate>
</ContentTemplate>
выпадающий ddlband отображается следующим образом: -
ddlBand.Attributes.Add("onchange", "changeCutBand('" + pnlPanelStageBandLetterTemplate.ClientID + "')");
ddlBand.ID = "ddlBand";
при выборе выпадающего списка запускается следующий код: -
function changeCutBand(panelID) {
var cbc = ($(".cutBandChanger")[0]);
val = cbc.value;
var wsid = getQueryVariable('wsid');
if (val != "0") {
$.get("changecutband.ajax?action=changecutband&newcutmethod=" + val + "&wsid=" + wsid);
var panelID = document.getElementById('ctl00_ContentPane_ctl01_pnlPanelStageBandLetterTemplate');
var ddID = document.getElementById('ctl00_ContentPane_ctl01_ddlBand');
__doPostBack(panelID, val);
}
}
это вызывает некоторый ajax, который выполняет обновление базы данных, из которого данные предоставляют источник ретранслятора, который содержится в пользовательском элементе управления.
Моя проблема в том, что база данных обновляется, но панель обновления не обновляется. Все, что я получаю, это ошибка javascript, говорящая, что document.getelementbyid <'...'> является нулем или не является объектом с чрезмерно большим числом строк в миллионах.