usercontrol & placeholder
slt,
mon code :
page aspx
Code:
1 2 3 4 5 6 7 8 9 10 11
|
<asp:UpdatePanel ID="placePanel" runat="server">
<ContentTemplate>
<asp:PlaceHolder ID="contentPlace" runat="server" EnableTheming="True"></asp:PlaceHolder>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdateProgress ID="updProgressPlace" runat="server">
<ProgressTemplate>
Processing...
</ProgressTemplate>
</asp:UpdateProgress> |
code behind :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
private Control c1;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
c1 = null;
}
if (Session["currentPage"] == null)
GetPlaceContent("acceuil");
else
GetPlaceContent(Session["currentPage"].ToString());
}
private void GetPlaceContent(string page)
{
Session["currentPage"] = page;
try
{
switch (Session["currentPage"].ToString())
{
case "page1":
c1 = LoadControl("~/user control/page1.ascx");
break;
case "page2":
c1 = LoadControl("~/user control/page2.ascx");
break;
case "page3":
c1 = LoadControl("~/user control/page3.ascx");
break;
default:
c1 = LoadControl("~/user control/page1.ascx");
break;
}
contentPlace.Controls.Add(c1);
}
catch (Exception exe)
{
string sms = exe.Message;
}
} |
code de mon usercontrol 1 qui contient juste un bouton et un textbox.
Code:
1 2 3 4
| protected void Button1_Click(object sender, EventArgs e)
{
TextBox1.Text = "coucou";
} |
mon code fonctionne bien mes pages s'affiche comme je veux.
par contre, il me faut cliquer deux fois sur mon boutton pour afficher mon text dans mon textbox.
me suis je trompé quelque part ?