webForumDet fria alternativet

Postbacks och dynamiskt laddade kontroller

2 svar · 244 visningar · startad av renholm

renholmMedlem sedan apr. 20012 266 inlägg
#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?

DinoMedlem sedan sep. 20011 914 inlägg
#2

Möjligen ett !IsPostBack problem.

renholmMedlem 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.

129 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)