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";
                    }

                }

  • 相关阅读:
    AS/400开发经验点滴(三)如何使用分布式关系数据库
    AS/400开发经验点滴(五)通用日志管理工具
    AS/400开发经验点滴(二)一个批量修改文件属性的工具
    FTP执行AS400命令
    ORA12514 TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法
    Centos 查看系统硬件信息
    [转]Oracle的DBMS_METADATA包
    java读写删.text,.xml文件内容
    oracle 是user_tables里面可以查找到一个表,而用DESC或者insert语句插入时就会报不存在视图。
    Oracle监听服务lsnrctl参数及查询状态详解
  • 原文地址:https://www.cnblogs.com/nasdaqhe/p/563592.html
Copyright © 2011-2022 走看看