zoukankan      html  css  js  c++  java
  • 动态生成控件的功能

    今天做一个动态生成控件的功能 ,有两个方向一个是生成服务器控件,一个是生成html控件,生成html控件的话,可以用

    CodePArtText.InnerHtml = "<div runat=\"server\" id=\"aa\"/>";

    这个句话来写但是想在一个div生成两个发现不行,后来一试

    hang1.InnerHtml = "<input type=\"textbox\" value=\"后台产生的文本框\" runat=\"server\" id=\"txt1\" name=\"txt1\" /><input type=\"textbox\" value=\"后台产生的文本框\" id=\"txt2\" name=\"txt1\" />";

    可以这样子写hang1和CodePArtText是两个div的id。

    考虑到取值不好取,决定用服务器控件

                TextBox txtMytest = new TextBox();             txtMytest.Text = "我来测试下";             txtMytest.Width = 100;             this.hang1.Controls.Add(txtMytest);

    但是在生成后点击按钮一提交,服务器控件就不见了,从而用了这个方法

    you   need   to   remember   to   re-load   the   control   upon   postback             public   bool   Loaded     {         get   {   object   o   =   ViewState["Loaded"];     if   (o   ==   null)   return   false;   else   return   (bool)o;   }         set   {     ViewState["Loaded"]   =   value;}     }             void   LoadYourControl()     {             UC   uc   =   LoadControl("uc.ascx");             PlaceHolder1.Controls.Add(uc);     }         AspxButton_Click()     {         LoadYourControl();         Loaded   =   true;     }         void   Page_Load(object   sender,   EventArgs   e)     {       if   (Loaded)           LoadYourControl();     }   很快解决了问题。博客地址:http://blog.csdn.net/lee576/article/details/2055236

    3种办法:

    第一种,就是在前台页面添加:

    <div>     <%

    Response.Write("<input type=\"textbox\" value=\"后台产生的文本框\" id=\"txt1\" name=\"txt1\" />");

      %> </div>

    第二种,后台定义一个函数,前台调用:

    projected voi show()

    {

    Response.Write("<input type=\"textbox\" value=\"后台产生的文本框\" id=\"txt1\" name=\"txt1\" />");

    }

    <div>     <% show();  %> </div>

    第三种,将客户端的元素用runat来申明:

    <div runat="server" id="aa"></div>

    后台:

    projected void Page_Load()

    {

    aa.InnerHTML = "<input type=\"textbox\" value=\"后台产生的文本框\" id=\"txt1\" name=\"txt1\" />";

    }

  • 相关阅读:
    关于GridView Master-Detail 不支持明细属性为IEnumerable、IList问题
    GridControl摘录
    DevExpress中chartControl中实现统计图功能
    DevExpress中GridControl列转义的实现方法
    DevExpress实现根据行,列索引来获取RepositoryItem的方法
    修改yum源为阿里云的
    使用sendmail来发邮件
    nginx默认访问目录时显示403错误
    同时调整lv分区的大小(减少一个,增加另一个)
    ORA-00257错误的解决办法
  • 原文地址:https://www.cnblogs.com/VicHuang/p/2440744.html
Copyright © 2011-2022 走看看