【问题标题】:C# how to get HTML controls created dynamicallyC#如何获取动态创建的HTML控件
【发布时间】:2016-12-29 07:43:23
【问题描述】:

我使用stringResponse.Write() 生成了HTMLTextArea

string area = "<textarea id=\"myArea{0}\" cols=\"30\" name=\"S1\" rows=\"5\" runat=\"server\"></textarea>";

Response.Write(String.Format(area,1));

在这之后,我不知道如何获取这个myArea1的对象。

有什么方法可以实现这个目标吗?

【问题讨论】:

    标签: c# html asp.net


    【解决方案1】:

    添加System.Web.UI.HtmlControls. 的正确方法是,

    var newTextArea = new HtmlTextArea()
    {
        ID = string.Format("myArea{0}", 1),
        Name = string.Format("S{0}", 1),
        Cols = 30,
        Rows = 5
    };
    Page.Controls.Add(newTextArea);
    

    然后你就可以访问它了,

    var myTextArea = Page.FindControl("myArea1") as HtmlTextArea;
    

    【讨论】:

    • 如果 textarea 在 tablerow 内怎么办
    【解决方案2】:

    你可以试试这个。

      HtmlTextArea txt = (HtmlTextArea)(Page.FindControl("myArea1"));
      string value = txt.Value;
    

    请参阅this

    【讨论】:

    • frm 指的是什么?是&lt;form id="frm" runat="server"&gt;吗?
    • 了解更多信息。查看this
    【解决方案3】:

    如果您只对获取用户输入感兴趣,则实际上不需要访问 TextArea 对象本身,您应该能够在表单提交时在 Request.Form 集合中找到。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-17
      • 1970-01-01
      • 1970-01-01
      • 2017-07-22
      • 1970-01-01
      • 2023-03-28
      • 2020-06-18
      • 1970-01-01
      相关资源
      最近更新 更多