repeater 控件中的checkboxlist 不显示

一刀封喉 2014-09-08 04:48:49
话不多说,直奔正题
如图是想要的效果:



代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Configuration;
using System.Data;
using System.Data.SqlClient;

public partial class newadmin_test4 : System.Web.UI.Page
{
private string _connstring = WebConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
get_lv1_data();
}
}

protected void get_lv1_data()
{
SqlConnection con = new SqlConnection(_connstring);
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = "select * from pro_category where pid=@pid order by shunxu";
cmd.Parameters.AddWithValue("@pid", 0);

SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataSet dst = new DataSet();
using (sda)
{
sda.Fill(dst);
}

lv1.DataSource = dst;
lv1.DataBind();
}
public DataSet lv2data(object lv1id)
{
SqlConnection con = new SqlConnection(_connstring);
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = "select * from pro_category where pid=@pid order by shunxu";
cmd.Parameters.AddWithValue("@pid", lv1id);

SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataSet dst = new DataSet();
using (con)
{
con.Open();
sda.Fill(dst);

}
return dst;

}
public DataSet lv3data(object lv2id)
{
SqlConnection con = new SqlConnection(_connstring);
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = "select * from pro_category where pid=@pid order by shunxu";
cmd.Parameters.AddWithValue("@pid", lv2id);

SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataSet dst = new DataSet();
using (con)
{
con.Open();
sda.Fill(dst);

}
return dst;

}


}



前台页面:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test4.aspx.cs" Inherits="newadmin_test4" %>

<html lang="en">
<head>
<meta charset="utf-8">
<title>sf</title>

</head>
<body>
<form id="form1" runat="server">
<ul>
<asp:Repeater ID="lv1" runat="server">
<ItemTemplate>
<li>
<div class="div_lv1"><span class="label_lv1"><%#Eval("categoryname") %>(<%#Eval("shunxu") %>)</span><br class="clear" /></div>
<ul class="ul_lv2">
<asp:Repeater ID="lv2" runat="server" DataSource='<%# lv2data(Eval("id")) %>'>
<ItemTemplate>
<li>
<div class="div_lv2"><span class="label_lv2"><%#Eval("categoryname") %>(<%#Eval("shunxu") %>)</span><br class="clear" />
<ul class="ul_lv3">
<asp:Repeater ID="lv3" runat="server" DataSource='<%# lv3data(Eval("id")) %>' >

<ItemTemplate>


<asp:CheckBoxList ID="CheckBoxList1" runat="server" DataTextField='<%#Eval("categoryname") %>' DataValueField='<%#Eval("id") %>'> </asp:CheckBoxList>


</ItemTemplate>
</asp:Repeater>

</ul>
</div><br class="clear" />
</li>

</ItemTemplate>

</asp:Repeater>

</ul>

</li>

<br class="clear" />
</ItemTemplate>
</asp:Repeater>
</ul>


</form>
</body>
</html>
...全文
223 14 打赏 收藏 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
你还是用ztree吧: http://www.ztree.me/v3/main.php#_zTreeInfo 先解决问题,然后在讨论问题。
一刀封喉 2014-09-09
  • 打赏
  • 举报
回复
大神何在? 都说.net 水平低,其实.net 入门容易,精通也很难,像我们这种没时间上专业培训课的遇到问题缺乏交流的渠道,csdn 搞个悬赏就好了
一刀封喉 2014-09-09
  • 打赏
  • 举报
回复
如果把最里层 checkboxlist 换成 checkbox ,那就没问题了,但是 checkbox 无法绑定 2个数据,1个id,1个name,二者缺一不可,否则 下一步取值会遇到问题
myhope88 2014-09-09
  • 打赏
  • 举报
回复
你这样设计感觉也不太对呀
叫我 Teacher 周 2014-09-09
  • 打赏
  • 举报
回复
如果你是嵌套在控件里的话,你需要用ItemBound事件,然后再去用FindControl找到你的Checkbox,才去绑定
sy401042879 2014-09-09
  • 打赏
  • 举报
回复
引用 4 楼 yidaofenghou 的回复:
[quote=引用 3 楼 touzilk 的回复:] http://bbs.csdn.net/topics/390880208这是你的帖子?你换个思路啊,老这种死抠怎么行
这是最容易实现的了,但是代码哪里有点问题[/quote] 你用了3个Repeater,前台第二,第三个Repeater数据源绑定,那样写可能是有问题的(具体我没测试),而且我个人观点不赞成那样嵌套。你这个其实很简单,我给你个思路吧。 1:数据库3个相同的表查询数据,获取数据源

select 需要绑定的字段... from pro_category t1 inner join pro_category t2 on t1.id=t2.pid inner join pro_category t3 on t2.id=t3.pid where t1.pid=0
2:绑定一个Repeater即可。 这样岂不是更舒服。不用写3遍后台绑定的代码,一个绑定代码即可。
  • 打赏
  • 举报
回复
或者把chekcboxList换成 <asp:CheckBox ID="CheckBox1" runat="server" Text='<%#Eval("categoryname") %>' Value='<%#Eval("id") %>'></asp:CheckBox>
  • 打赏
  • 举报
回复
你用了
引用 6 楼 yidaofenghou 的回复:
如果把最里层 checkboxlist 换成 checkbox ,那就没问题了,但是 checkbox 无法绑定 2个数据,1个id,1个name,二者缺一不可,否则 下一步取值会遇到问题
你用了checkboxlist的数据绑定方式,它本身就会像repeater那样,循环数据源,产生多个checkbox的 所以要把<asp:Repeater ID="lv3" 这个去掉,把它的数据源直接绑到checkboxlist
叫我 Teacher 周 2014-09-09
  • 打赏
  • 举报
回复
你缺一个 DataValueField和DataTextField
一刀封喉 2014-09-09
  • 打赏
  • 举报
回复
哎!!!大神呢
一刀封喉 2014-09-08
  • 打赏
  • 举报
回复
引用 3 楼 touzilk 的回复:
http://bbs.csdn.net/topics/390880208这是你的帖子?你换个思路啊,老这种死抠怎么行
这是最容易实现的了,但是代码哪里有点问题
手可摘星辰 2014-09-08
  • 打赏
  • 举报
回复
http://bbs.csdn.net/topics/390880208这是你的帖子?你换个思路啊,老这种死抠怎么行
手可摘星辰 2014-09-08
  • 打赏
  • 举报
回复
你这个用repeater有点累吧,要是7、8级你不就废了
一刀封喉 2014-09-08
  • 打赏
  • 举报
回复
不好意思,没打完,手一抖发布了 以上代码达不到我要的效果,但是又检查不出来哪的问题,请指教
内容概要:本文介绍了一个基于Java与Vue的中小银行信贷材料结构化审核与尽调要点抽取系统的设计与实现。系统通过OCR识别、版面解析、关键字段抽取、实体归一化、规则引擎和风险评分等技术,将非结构化的信贷材料(如营业执照、审计报告、银行流水、合同等)转化为可查询、可校验的结构化数据,实现材料自动分类、字段提取、完整性检查、跨文档一致性比对及风险线索识别。系统涵盖文件接入、文档识别、字段抽取、规则校验、风险评分与前端交互六大层次,提升了信贷审核效率、统一了审查标准、增强了风险预警能力,并建立了可追溯的数据资产体系。文中还提供了企业名称清洗、统一社会信用代码校验、金额抽取、材料完整性校验、名称相似度计算和风险评分等核心功能的模型描述与Java代码示例。; 适合人群:具备Java和Vue开发基础,从事金融科技、信贷系统开发或智能文档处理相关工作的研发人员,尤其是关注OCR、NLP与规则引擎在金融风控中应用的工程师和技术负责人。; 使用场景及目标:① 实现中小银行信贷材料的自动化结构化处理与智能审核;② 提升信贷审批效率,降低人工核验成本;③ 统一尽调标准,增强风险识别与预警能力;④ 构建可追溯、可审计的信贷数据资产,支持贷后管理与监管合规。; 阅读建议:此资源以实际项目为导向,结合业务需求与技术实现,建议开发者结合代码示例深入理解各模块设计逻辑,重点关注实体归一化、规则引擎配置与前后端协同机制,并可在类似场景中复用核心算法与架构设计。
鼎拨神器 4.02 软件描述 ====================== 一、软件简介 鼎拨神器是一款面向拨号场景的桌面工具软件,提供账号批量拨号、拨号状态管理、日志留痕等功能,适用于需要频繁切换拨号账号的使用场景。软件界面简洁、操作直观,账号配置与管理一体化,开箱即用。 二、核心功能 1. 账号拨号:支持多账号配置,账号与密码以"空格或 Tab 键"分隔,可从表格(一列账号、一列密码)直接复制粘贴导入,批量管理、快速切换。 2. 动态等待:拨号成功后支持 1-60 秒动态等待时长,可有效规避连续拨号过快导致的失败,提升拨号成功率。 3. 流量选项:内置流量模式选项(4.0 版本新增),按需选择,灵活适配不同拨号需求。 4. 日志留痕: - dial_log.xls:最近一次拨号记录; - dial_log_日期.txt:全部拨号记录,按天归档,方便追溯与统计。 5. 图标美化:4.02 版本窗口左上角与任务栏统一应用专属图标,界面更规范。 三、版本更新记录 - 版本 4.02:修复了一些已知问题,优化窗口图标显示。 四、目录结构说明 - 鼎拨神器.exe:主程序,双击启动。 - Launcher_ForExe.exe:拨号调度启动器。 - Program 文件夹:软件内部文件,请勿删除。 - Program\dial.exe:核心拨号组件。 - accounts.txt:账号密码配置文件(账号与密码间用一个空格或 Tab 键隔开)。如不慎删除,请以"accounts.txt"命名自建文件即可恢复使用。 - rz 文件夹:日志文件夹,自动生成拨号记录。 建议每次拨号时将最后一个账号设为自己固有的账号,避免前面所有账号拨号不成功。 详细条款请参阅软件包内《软件使用授权及免责声明》。

62,271

社区成员

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

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

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

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