如何控制在DataList中的CheckBox选择不能超过3个!

china_G 2006-10-25 09:26:39
如何控制在DataList中的CheckBox选择不能超过3个!


麻烦高手帮我解决下啊,在线等!!
...全文
240 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
china_G 2006-10-25
  • 打赏
  • 举报
回复
怎么给分啊!我还不会呢,呵呵,刚查到是ListItemType.Item谢谢你们了。
游北亮 2006-10-25
  • 打赏
  • 举报
回复
// 确定是数据行而非页首或页尾
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
Fanny 2006-10-25
  • 打赏
  • 举报
回复
判断是否是模板列 你拖到DataList里的控件都是放在这个列里的。
china_G 2006-10-25
  • 打赏
  • 举报
回复
不好意思,我太菜了,e.Item.ItemType==ListItem.Item是什么意思,ListItem.Item代表的什么,
Fanny 2006-10-25
  • 打赏
  • 举报
回复
加了if判断吗?
china_G 2006-10-25
  • 打赏
  • 举报
回复
我那个名就是这个,没动!不知道怎么回事,郁闷!
china_G 2006-10-25
  • 打赏
  • 举报
回复
改了啊。!
Fanny 2006-10-25
  • 打赏
  • 举报
回复
是啊 那个CheckBox1是要改成你具体在模板里那个CheckBox的Name值的
Fanny 2006-10-25
  • 打赏
  • 举报
回复
哦 忘加了点东西 不好意思 常犯这个错
private void DataList1_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
{
if(e.Item.ItemType==ListItem.Item)
{
CheckBox cbx=(CheckBox)e.Item.FindControl("CheckBox1");
cbx.Attributes.Add("onclick","checkIt(this)");
}
}
游北亮 2006-10-25
  • 打赏
  • 举报
回复
汗一个,CheckBox cbx=(CheckBox)e.Item.FindControl("CheckBox1");
这里面的CheckBox1是要根据你的实际ID设置的,你就直接照抄了???
china_G 2006-10-25
  • 打赏
  • 举报
回复
未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。

源错误:


行 139: {
行 140: CheckBox cbx=(CheckBox)e.Item.FindControl("CheckBox1");
行 141: cbx.Attributes.Add("onclick","checkIt(this)");
行 142: }
行 143: }

Fanny 2006-10-25
  • 打赏
  • 举报
回复
别顶我肺,我肺不好......咳咳咳
游北亮 2006-10-25
  • 打赏
  • 举报
回复
呵呵,顶一下楼上的
Fanny 2006-10-25
  • 打赏
  • 举报
回复
.cs
private void DataList1_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
{
CheckBox cbx=(CheckBox)e.Item.FindControl("CheckBox1");
cbx.Attributes.Add("onclick","checkIt(this)");
}

.aspx //引用楼上的啦:P

<script language=javascript>
var num=0;
function checkIt(obj){
if(obj.checked){
num++;
}else{
num--;
}
if(num>3){
num--;
obj.checked = false;
alert("不能超过三个!");
}
}
</script>

china_G 2006-10-25
  • 打赏
  • 举报
回复
我只的是checkbox是在datalist模版里
china_G 2006-10-25
  • 打赏
  • 举报
回复
在datalist模版里也可以这么写吗?
游北亮 2006-10-25
  • 打赏
  • 举报
回复
这个用JS实现,
在每个CheckBox的Onclick事件中处理,如:
<input type=checkbox onclick="checkIt(this);">
<script language=javascript>
var num=0;
function checkIt(obj){
if(obj.checked){
num++;
}else{
num--;
}
if(num>3){
num--;
obj.checked = false;
alert("不能超过三个!");
}
}
</script>
china_G 2006-10-25
  • 打赏
  • 举报
回复
是整个datalist中就可以选三个!
Fanny 2006-10-25
  • 打赏
  • 举报
回复
不太明白
是说每行记录不能选三个以上,还是说整个DataList里只能选三个?

62,133

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧