asp.net在Repeater嵌套的Repeater中使用复选框详解

 更新时间:2018年12月01日 20:20:13   作者:森大科技  
这篇文章主要介绍了asp.net在Repeater嵌套的Repeater中使用复选框,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

.aspx文件中:

<%--顶层Repeater--%>
        <asp:Repeater ID="rptChannel" runat="server">
            <itemtemplate>
             <br /><b><%# Eval("ChannelName")%></b>
             <%--嵌套的Repeater,指定使用后台创建的Releation来获取数据源--%>
              <asp:Repeater ID="rptClassify" DataSource='<%# Eval("myrelation") %>' runat="server">
                <itemtemplate>
                  <input type="checkbox" id="chk_FlagID" value='<%# Eval("FlagID")%>' runat="server" />
                  <asp:Label ID="lbl_FlagName" runat="server" Text='<%# Eval("FlagName")%>'></asp:Label>
                </itemtemplate>
              </asp:Repeater >
             <%--end 嵌套的Repeater,指定使用后台创建的Releation来获取数据源--%>
            </itemtemplate>
        </asp:Repeater >
        <%--end 顶层Repeater--%>

.aspx.cs文件中:

#region Repeater嵌套的Repeater中使用复选框
      //★Repeater嵌套-经典运用★
      string sqlstr1, sqlstr2;
      sqlstr1 = "select distinct a.ChannelID,b.ChannelName from IE_FlagGroup a left join IE_Channel b on a.ChannelID=b.ChannelID where a.isClose=0 order by a.ChannelID asc";
      sqlstr2 = "select * from IE_FlagGroup where isClose=0 order by FlagID asc";
      DataSet dsChannel = DBFun.dataSetTwo(sqlstr1, "Channel", sqlstr2, "Classify", "myrelation");
      dsChannel.Relations.Add("myrelation", dsChannel.Tables["Channel"].Columns["ChannelID"], dsChannel.Tables["Classify"].Columns["ChannelID"], false);
      this.rptChannel.DataSource = dsChannel.Tables["Channel"];//绑定顶层Repeater(注意:只要绑定顶层就好,嵌套层不能绑定)
      this.rptChannel.DataBind();
      #endregion

//……略相关数据库操作代码

#region 设置Repeater嵌套的Repeater中相应的复选框为选中状态
          string[] selTeamflag = drw["Teamflag"].ToString().Split(',');
          HtmlInputCheckBox checkBox;
          Repeater rpClass;

          for (int i = 0; i < this.rptChannel.Items.Count; i++)
          {
            rpClass = (Repeater)this.rptChannel.Items[i].FindControl("rptClassify");
            for (int j = 0; j < rpClass.Items.Count; j++)
            {
              checkBox = (HtmlInputCheckBox)rpClass.Items[j].FindControl("chk_FlagID");
              if (selTeamflag.Contains(checkBox.Value))
                checkBox.Checked = true;
            }
          }
          #endregion

#region 获取Repeater嵌套的Repeater中的复选框所选择的值的组合,以","隔开
    string str_Teamflag = "";
    HtmlInputCheckBox checkBox;
    Repeater rpClass;

    for (int i = 0; i < this.rptChannel.Items.Count; i++)
    {
      rpClass = (Repeater)this.rptChannel.Items[i].FindControl("rptClassify");
      for (int j = 0; j < rpClass.Items.Count; j++)
      {
        checkBox = (HtmlInputCheckBox)rpClass.Items[j].FindControl("chk_FlagID");
        if (checkBox.Checked)
          str_Teamflag += checkBox.Value + ",";
      }
    }

    if (str_Teamflag != "")
    {
      //去除最后一个字符
      //str_Teamflag = str_Teamflag.Substring(0, str_Teamflag.Length - 1);
      str_Teamflag = str_Teamflag.Remove(str_Teamflag.Length - 1);
    }
    #endregion

以上所述是小编给大家介绍的asp.net在Repeater嵌套的Repeater中使用复选框,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • 30 分钟掌握无刷新 Repeater

    30 分钟掌握无刷新 Repeater

    经过数个版本的迭代后, JQueryElement 3.3.0 版本中的 Repeater 基本上已经完善, 这里将分功能的总结讲解一下 Repeater 的使用方法
    2011-10-10
  • AJAX JavaScript反射机制的介绍

    AJAX JavaScript反射机制的介绍

    反射机制指的是程序在运行时能够获取自身的信息。例如一个对象能够在运行时知道自己有哪些方法和属性。
    2013-03-03
  • ASP.NET中图片显示方法实例

    ASP.NET中图片显示方法实例

    这篇文章主要介绍了ASP.NET中图片显示方法,实例分析了ASP.NET图片显示所涉及的图片路径、缩略图及更新数据库图片浏览次数等相关技巧,需要的朋友可以参考下
    2015-07-07
  • Asp.net禁用页面缓存的方法总结

    Asp.net禁用页面缓存的方法总结

    这篇文章主要介绍了Asp.net禁用页面缓存的方法,需要的朋友可以参考下
    2014-02-02
  • Asp.Net模拟表单提交数据和上传文件的实现代码

    Asp.Net模拟表单提交数据和上传文件的实现代码

    这篇文章主要介绍了Asp.Net模拟表单提交数据和上传文件的实现代码,本文对3种情况都做了介绍,只有普通数据的表单、只上传文件的表单、包含普通数据和上传文件表单,需要的朋友可以参考下
    2014-08-08
  • 在.net项目使用JSONSchema示例详解

    在.net项目使用JSONSchema示例详解

    这篇文章主要为大家介绍了在.net项目使用JSONSchema的示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • 使用 Salt + Hash 将密码加密后再存储进数据库

    使用 Salt + Hash 将密码加密后再存储进数据库

    如果你需要保存密码(比如网站用户的密码),你要考虑如何保护这些密码数据,象下面那样直接将密码写入数据库中是极不安全的,因为任何可以打开数据库的人,都将可以直接看到这些密码
    2012-12-12
  • asp.net获取网站绝对路径示例

    asp.net获取网站绝对路径示例

    在编写 ASP.NET 应用程序的时候,有时为了更好地进行控制静态文件的路径,如在模板页或者用户控件中设置js或者css文件的路径等,采用绝对路径是难免的。下面就是几种获取绝对路径的几种方法
    2014-02-02
  • 使用 HttpReports 监控 .NET Core 应用程序的方法

    使用 HttpReports 监控 .NET Core 应用程序的方法

    这篇文章主要介绍了使用 HttpReports 监控 .NET Core 应用程序的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • 如何使用Swagger上传文件

    如何使用Swagger上传文件

    本文将介绍如何使用Swagger来上传文件。本文分步骤给大家介绍的非常详细,感兴趣的朋友跟随脚本之家小编一起学习吧
    2018-05-05

最新评论