• asp.net动态生成控件及访问控件


    asp.net动态生成控件的方法:
    1.在aspx页面放一个Panel控件
    2.代码如下:

    private void Page_Load(object sender, System.EventArgs e)
            
    {
                
    // 在此处放置用户代码以初始化页面
                if(Session["p_userid"]==null||Session["p_loginName"]==null||Session["p_created"]==null)
                
    {
                    Response.Write(
    "<script>alert('请先登陆');location.href='../loginProc/login.aspx';</script>");
                    Response.End();
                }

                
    else
                
    {
                    Panel1.Controls.Add(
    new LiteralControl("<table>"));
                    Panel1.Controls.Add(
    new LiteralControl("\n"));
                    SqlCommand cmd
    =new SqlCommand("select infos.* from infos,infoGroups where infos.infoGroup_id = infoGroups.id and infoGroups.title='联系方式' order by infos.pri",connPartner);
                    SqlDataAdapter da
    =new SqlDataAdapter();
                    DataSet ds
    =new DataSet();
                    da.SelectCommand
    =cmd;
                    da.Fill(ds,
    "infos");
                    
    for (int i=0;i<ds.Tables[0].Rows.Count;i++)
                    
    {
                        Panel1.Controls.Add(
    new LiteralControl("<tr>"));
                        TableCell cell 
    = new TableCell();//创建单元格,也就是第一列
                        cell.Text=ds.Tables[0].Rows[i]["title"].ToString();//设置单元格内的文本
                        Panel1.Controls.Add(cell);
                        Panel1.Controls.Add(
    new LiteralControl("<td>"));
                        TextBox textBox
    =new TextBox();
                        textBox.ID
    ="t"+ds.Tables[0].Rows[i]["id"].ToString();
                        Panel1.Controls.Add(textBox);
                        Panel1.Controls.Add(
    new LiteralControl("</td>"));
                        Panel1.Controls.Add(
    new LiteralControl("<td>"));
                        Label lb
    =new Label();
                        lb.ID
    ="l"+ds.Tables[0].Rows[i]["id"].ToString();
                        lb.Text
    ="&nbsp;"+ds.Tables[0].Rows[i]["tip"].ToString();
                        lb.CssClass
    ="registerInfo";
                        Panel1.Controls.Add(lb);
                        Panel1.Controls.Add(
    new LiteralControl("</td>"));
                        Panel1.Controls.Add(
    new LiteralControl("</tr>"));
                        Panel1.Controls.Add(
    new LiteralControl("\n"));
                    }

                    
                    Button rebt
    =new Button();
                    rebt.ID
    ="redirect";
                    rebt.Text
    =" 不填了 ";
                    rebt.Click
    +=new EventHandler(rebt_Click);
                    Panel1.Controls.Add(rebt);
                }

            }

    private void rebt_Click(object sender, EventArgs e)
            
    {
                Response.Redirect(
    "../partnerProc/default.html");
            }

    访问动态生成控件,可以通过FindControl方法,代码如下:
    for(int i=0;i<ds.Tables[0].Rows.Count;i++)
                
    {
                    Label lb;
                    lb
    =(Label)Panel1.FindControl("l"+ds.Tables[0].Rows[i]["id"].ToString());
                    
    if(lb!=null)
                    
    {
                        lb.Text
    ="&nbsp;"+ds.Tables[0].Rows[i]["tip"].ToString();
                        lb.CssClass
    ="registerInfo";
                    }

                }

  • 相关阅读:
    BPM系统终于告一段落
    淘宝SOA框架dubbo学习(5)--结果缓存
    淘宝SOA框架dubbo学习(3)--搭建监控中心
    淘宝SOA框架dubbo学习(4)--参数验证
    淘宝SOA框架dubbo学习(1)--first demo
    淘宝SOA框架dubbo学习(2)--搭建Zookeeper注册中心服务
    SOA Dubbo分布式架构学习
    编程有害身体健康 且Coding且珍惜
    数据库日志收缩大小
    dax 计算某一列重复出现次数
  • 原文地址:https://www.cnblogs.com/nasdaqhe/p/563592.html
Copyright © 2020-2023  润新知