zoukankan      html  css  js  c++  java
  • 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";
                    }

                }

  • 相关阅读:
    Jmeter调试工具---Debug Sampler
    jmeter --- 搭建持续集成接口测试平台(Jenkins+Ant+Jmeter)
    Jmeter --- 组件执行顺序与作用域
    第五讲.字典,集合,数组排序(快速排序,冒泡,默认排序)(源代码)
    第五讲.字典,集合,数组排序(快速排序,冒泡,默认排序)
    第六讲 Block块语法及Block与数组的排序,ios字面量的使用(源代码上传)
    第六讲 Block块语法及Block与数组的排序,ios字面量的使用
    jQuery FileUpload等插件的使用实例
    文件上传(js, C#)
    Excel导出的几种方式
  • 原文地址:https://www.cnblogs.com/nasdaqhe/p/563592.html
Copyright © 2011-2022 走看看