La risposta credo sia la solita: bisogna sempre ricreare i controlli creati a runtime.Ciao.
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="a.aspx.vb" Inherits="prove_a" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager> <div> <img alt="prova gestore img" src=".img?p_img=/tmp/prova.jpg&p_width=800" /> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <asp:Button ID="Button1" runat="server" Text="Crea textbox" /> <asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder> </ContentTemplate> </asp:UpdatePanel> </div> </form> </body> </html> ====================================================================================================== Option Strict On Imports l = libreria.ModuloWeb Partial Class prove_a Inherits System.Web.UI.Page Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init If Me.IsPostBack Then CreaControlli() End If End Sub Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click CreaControlli() Me.Button1.Visible = False End Sub Protected Sub CreaControlli() Dim tb As New TextBox() tb.ID = "tb_1" Me.PlaceHolder1.Controls.Clear() Me.PlaceHolder1.Controls.Add(tb) Dim btn As New Button() btn.ID = "bn_1" btn.Text = "salva" AddHandler btn.Click, AddressOf btn_click Me.PlaceHolder1.Controls.Add(btn) End Sub Protected Sub btn_click(ByVal sender As Object, ByVal e As EventArgs) Dim txb As TextBox = TryCast(Me.PlaceHolder1.FindControl("tb_1"), TextBox) If txb IsNot Nothing Then l.MsgBox(Me, txb.Text) End If End Sub End Class
Torna al forum | Feed RSS