在datagrid 和datalist中,加入一样服务器端的控件,如webcontrols 或者htmlcontrols(runat=Server), 所有的控件的名字都会变。
现在有一个ASP项目要升级到。NET,有一个checkbox列表,如果在datalist或者datagrid中的模板列中使用,checkbox生成后的名字全变了,原来在客户端用于检测 的javascript用不了(因为通过checkbox的名字反回一个checkbox对象数组已经不行了,每个checkbox有自己的名字),但是如果用htmlcontrols不runat=server,又不能绑定数据,难道真的要全部修改,放在服务器端实现检测?
(注,不能用checkboxlist,因为同一行中还有其它的如label,textbox等等控件)
请高手指点
现在有一个ASP项目要升级到。NET,有一个checkbox列表,如果在datalist或者datagrid中的模板列中使用,checkbox生成后的名字全变了,原来在客户端用于检测 的javascript用不了(因为通过checkbox的名字反回一个checkbox对象数组已经不行了,每个checkbox有自己的名字),但是如果用htmlcontrols不runat=server,又不能绑定数据,难道真的要全部修改,放在服务器端实现检测?
(注,不能用checkboxlist,因为同一行中还有其它的如label,textbox等等控件)
请高手指点
模板列:<itemtemplate>
<INPUT type="checkbox" value='<%#........%>' name="aaa" >
</itemtemplate>取值:
JAVASCRIPT:
for(var i=0;i<document.all('aaa').length;i++)
{
document.all('aaa')[I].CHECKED
}cs:request.parms["aaa"];//取得所有选中复选框的VALUE,若要分开请自定义VALUE格式
function CheckNull(form)
{ var ck=0;
for (var i=0;i<form.elements.length;i++)
{
var e = form.elements[i];
if ( e.type=="checkbox"&&e.checked)
ck=1;
}
if (ck!=1 )
{
alert("你还没有选择要删除的信息!请至少选择一个吧。");
return false;
}
else
{
return confirm('确定要删除所选择的记录吗 ?');
}
}