日期:2014-05-19  浏览次数:20352 次

GridView放在UpdatePanel里面,js找不到。
GridView放在UpdatePanel里面,产生Html后,发现,居然找不到GridView产生的 <Table> 代码,这样,我怎么用js调用GridView里面的东西啊?

------解决方案--------------------
document.getElementByID( " <%=GridView1.ClientID%> ");
------解决方案--------------------
厉害,收藏了
------解决方案--------------------
也可以使用模式匹配字符串来找到GridView的对象
例如:设置指定GridView中chexkBox列为全部选中状态

/**************************************************************
* 全部选中GridView中的CheckBox列(指定checkBox的ID)
*
* @param gridViewName GridView控件ID:
* @param checkBoxName 模版列中的CheckBox控件ID:
*
**************************************************************/
function CheckAllWithcheckBoxName( gridViewName, checkBoxName )
{
//查找gridview的模式匹配字符串
var RegString = new RegExp( "(.*?) " + gridViewName + "(.*?) ");

for(i = 0; i < document.all.length; i = i + 1)
{
if (RegString.test(document.all[i].id))
{
//获取查找到的gridView对象
var grid = document.getElementById(document.all[i].id);

//循环执行选中操作
for(i = 0; i < grid.all.length; i = i + 1)
{
var RegString = new RegExp( "(.*?) " + gridViewName + "(.*?) " + checkBoxName);

if (RegString.test(grid.all[i].id))
{
grid.all[i].checked = true;
}
}

break;
}
}

return false;
}
------解决方案--------------------
如果楼主用 ajax 1.0 正式版的话,

GridView的名字是没有变的,js可以直接使用
var grid = document.getElementById( "GridView1 ");
来获取对象