webForumDet fria alternativet

Postbacks och dynamiskt laddade kontroller

.NET

2 svar · 246 visningar · startad av renholm

Medlem sedan apr. 20012 266 inlägg
Frågan#1

Har problem med en Linkbutton i en UserControl, första gången man klickar på den händer inget, men andra gången man klickar på den fungerar den som det ska.

Fungerar så här.

1. checkout.ascx

private void Page_Load(object sender, System.EventArgs e)
		{
			SetControls();
		}

		public void SetControls()
		{
			if (ViewState["Page"] == null)
				ViewState["Page"] = 2;

            plHolder.Controls.Clear();				
			switch((int)ViewState["Page"])
			{
				case 2:
					plHolder.Controls.Add(Page.LoadControl("~/Controls/Checkout/Domain.ascx"));
					break;
				case 3:
					plHolder.Controls.Add(Page.LoadControl("~/Controls/Checkout/ExistingDomain.ascx"));
					break;
				case 4:
					plHolder.Controls.Add(Page.LoadControl("~/Controls/Checkout/Addons.ascx"));
					break;
				default:
					plHolder.Controls.Add(new System.Web.UI.LiteralControl(ViewState["Page"].ToString()));
					break;
			}

		}

		public void NextPage()
		{
			ViewState["Page"] = (int)ViewState["Page"] + 1;
			SetControls();
		}

Från Domain.ascx hoppar jag fram en sida genom att anropa, NextPage(). ExistingDomain.ascx laddas då utan problem, fast som jag tidigare nämnde fungerar endast knappen efter man gjort en postback. Något som måste registreras eller liknande?

Medlem sedan sep. 20011 914 inlägg
#2

Möjligen ett !IsPostBack problem.

Medlem sedan apr. 20012 266 inlägg
#3

Möjligen, tröttnade på att felsöka så använde sessions och Server.Transfer i stället för att byta sida.

252 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
116 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
116 ms — ändringar (db)