2013-01-15 79 views
0

我正在使用asp.net 4.0。在asp.net中填充動態創建的控件。

現在我想創建使用在客戶端的一些內容的JavaScript,如:

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

然後在服務器端,我想獲得這種控制和填充一些內容吧,如:

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

看來這不起作用。由於服務器端進程在客戶端進程之前工作。

還有其他想法嗎?

+0

您使用後面的代碼。嘗試將div添加到佔位符或面板,任何有關C#的基本指令都會覆蓋此 – Hogan

+0

。 – Sangeeta

回答

2

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的再找到他們,如果動態添加控件時不希望有任何意外。