【问题标题】:UpdatePanel Javascript Error on Adding Clientside Listbox items After postbackUpdatePanel Javascript 在回发后添加客户端列表框项目时出错
【发布时间】:2011-02-03 09:20:30
【问题描述】:

我在 UpdatePanel 中有一个 Metabuilder.Webcontrol 的动态列表控件,我正在使用 Javascript 从列表控件中添加删除项目。它在 UpdatePanel 中运行良好。

我有另一个控件 Gridview 以及需要回发才能填充的复选框。

一旦它在更新中成功填充而无需回发。我检查了几行并想使用 Javascript 将它们添加到列表控件中。

它说“对象不支持这个属性或方法”

函数 addItmList(idv,valItem) {

var list =document.getElementById('ctl00_ContentPlaceHolder1_MyList');

//var generatedName = "newItem" + (list.options.length + 1);

list.Add(idv,valItem);

}

函数 checkitemvalues()

{

var gvET = document.getElementById("ctl00_ContentPlaceHolder1_grd");

var target = document.getElementById('ctl00_ContentPlaceHolder1_lstIControl');

var newOption = window.document.createElement('OPTION');

var rCount = gvET.rows.length;

var rowIdx = 0;

var tcount = 1;

for (rowIdx;rowIdx

var rowElement = gvET.rows[rowIdx];

var chkBox = rowElement.cells[0].firstChild;

var cod = rowElement.cells[1].innerText;

var desc = rowElement.cells[2].innerText;

如果 (chkBox.checked == true){

addItmList(rowElement.cells[1].innerText,rowElement.cells[2].innerText);

}

}

}

代码背后

ScriptManager.RegisterClientScriptBlock(

Me.Page, Me.GetType(), MyList.ClientID, "" & vbCr & vbLf & "window.mylistid='" + MyList.ClientID + "';" & vbCr & vbLf & "", 真 )

记住我的代码可以正常工作。它无法维持 List Control 的状态,这就是它说 Object reqired 的原因。

谁能帮帮我。更新面板后为什么我的 javascript 没有将项目添加到 ListBox 中。

提前致谢

【问题讨论】:

    标签: javascript updatepanel postback client-side


    【解决方案1】:

    你的函数在 updatepanel 每次更新时调用的 pageLoad javascript 事件中吗?

    【讨论】:

    • 正如我上面提到的,Javascript 工作正常,可以从列表框客户端添加和删除项目。我在页面上有另一个按钮,它将调用 Postback 并从数据库加载一些值。有原因,如果我在回发发生后再次尝试从现有列表中添加和删除,它会给我一个错误。我已经阅读了几个网站,IT 将部分加载网页并且列表框控件正在失去其状态。我更改了一些代码并调用 ICallback 接口功能以避免回发,但在一个事件中我真的需要 Postback.Plz 帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-17
    • 1970-01-01
    • 2012-06-30
    • 1970-01-01
    • 1970-01-01
    • 2016-01-02
    • 2010-09-25
    相关资源
    最近更新 更多