zoukankan      html  css  js  c++  java
  • 动态创建的组件的ID设定

    动态创建的组件的ID设定要注意两点:
    1、ID号不能重复
    2、要便于在程序中使用。因为要在程序中使用动态创建的组件,要通过该组件的ID来查找。

    //创建时:
    Label lb = new Label();
    lb.ID="lb"+i.ToString();

    //使用时:
    String lbID="lb"+i.ToString();
    Label lb=(Label)myPlaceHolder.FindControl(lbID);
    lb.Text="… …"


    注意:
    需要特别注意的是,使用动态创建的WEB组件有一个前提,就是页面不能被刷新。如果页面被刷新,而且你又没

    有在页面刷新后重新创建该组件。在程序中使用动态创建的WEB组件,在程序运行时就会得到一个错误。该错误

    的产生是因为动态创建的WEB组件在页面被刷新后就不存在了。

    private void submitButton_Click(object sender, System.EventArgs e)
    {
     //… …
     //将用户填写的信息写入数组       
     for(int i=1;i<=int.Parse(ViewState["totalnum"].ToString());i++)
     {
           //… …
          string lbID="lb"+i.ToString();
      string strID=Request.Form[lbID].ToString();
           IDstr[i]=strID;
     }
     //… …
    }
    其中lbID为要使用的WEB组件的ID号。当页面刷新后,虽然动态创建的WEB组件不存在了,但是Request对象已经

    将WEB组件的信息保存下来了,所以仍然可以获得信息。

    如果你想在页面刷新后,仍然显示动态创建的WEB组件,那么你需要做的是在 Page_Load(object sender,

    System.EventArgs e) 中再次调用创建WEB组件的函数,并用 Request.Form[ID] 为相应的组件赋修改过的值。


    请记住,创建WEB组件的函数要放在 if(IsPostBack){  } 中。


  • 相关阅读:
    整形数组与字符串(字符数组)nex_permutation(或者是prve_permutation)的区别
    Dijkstra算法
    弗洛伊德算法(Floyd)
    Happy 2006
    EVENTTARGET 、EVENTARGUMENT 和VIEWSTATE
    C# App.config全攻略
    C#对Excel的样式操作
    Web.Config全攻略
    C# Setting.settings .
    UVa 10050 Hartals
  • 原文地址:https://www.cnblogs.com/xiaodi/p/131355.html
Copyright © 2011-2022 走看看