• 动态生成控件的功能


    今天做一个动态生成控件的功能 ,有两个方向一个是生成服务器控件,一个是生成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\" />";

    }

  • 相关阅读:
    Visual Studio Code安装Python环境
    Visual Studio Code安装以及C/C++运行环境搭建
    第五场周赛(字符串卡常个人Rank赛)——题解
    SpringCloud学习之二:服务提供者与服务消费者
    SpringCloud学习之一:服务注册中心
    java算法篇之一:动态数组
    Amdahl(阿姆达尔)定律
    org.apache.shiro.session.UnknownSessionException: There is no session with id [xxxx]的解决方案
    RedHat6.9下替换yum源
    微信公众号弹出框在IOS最新系统中点击键盘上的“完成”导致事件无法触发问题
  • 原文地址:https://www.cnblogs.com/VicHuang/p/2440744.html
Copyright © 2020-2023  润新知