【问题标题】:fill dynamically created controls in asp.net.在 asp.net 中填充动态创建的控件。
【发布时间】:2013-01-15 03:24:18
【问题描述】:

我正在使用 asp.net 4.0。

现在我想使用 javascript 在客户端创建一些内容,例如:

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

然后在服务器端,我想得到这个控件并填充一些内容,比如:

FindControl("xx").Controls.Add(....);

这似乎不起作用。由于服务器端进程在客户端进程之前工作。

还有其他的想法吗?

【问题讨论】:

  • 你在后面使用代码。任何关于 C# 的基本指令都涵盖了这一点
  • 尝试将 div 添加到占位符或面板。

标签: asp.net web-controls


【解决方案1】:

Asp.net 需要知道页面上有哪些控件。在 javascript 中添加元素并稍后将数据接收到后端的控件中并非易事。

正确的做法是将服务器端的控件添加到控件集合中。

参考:How to: Add Controls to an ASP.NET Web Page Programmatically

Label myLabel = new Label();
myLabel.ID = "myLabel";
myLabel.Text = "Sample Label";
Panel1.Controls.Add(myLabel);

当控件通过someContainer.Controls.Add 添加到控件集合时,您可以使用someContainer.FindControl 找到它们

Label myLabel = (Label)someContainer.FindControl("myLabel");

如果您不希望在动态添加控件时出现任何意外,您还需要完全了解asp.net page life cycle

【讨论】:

    猜你喜欢
    • 2017-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-16
    • 2012-03-18
    • 2010-11-18
    相关资源
    最近更新 更多