17. april 2003 - 22:16
Der er
10 kommentarer og 1 løsning
Include aspx-fil ved brug af knapper.
Jeg ønsker at inkludere forskellige filer, alt efter hvilken knap som der trykkes på... Hvad er det der gør at dette ikke virker? <%@ Page Language="C#" Debug="true" %> <script runat="server"> // Insert page code here // int side =1; void Page_Load(Object sender, EventArgs e){ if (side==1){ Server.Execute("side1.aspx"); } else if (side==2){ Server.Execute("side2.aspx"); } else if (side==3){ Server.Execute("side3.aspx"); } } //Page_Load void Button1_Click(Object sender, EventArgs e) { side=1; Label1.Text=""+side; } void Button2_Click(Object sender, EventArgs e) { side=2; Label1.Text=""+side; } void Button3_Click(Object sender, EventArgs e) { side=3; Label1.Text=""+side; } </script> <html> <head> </head> <body> <form runat="server"> <p> <asp:Button id="Button1" onclick="Button1_Click" runat="server" Text="Side1"></asp:Button> <asp:Button id="Button2" onclick="Button2_Click" runat="server" Text="Side2"></asp:Button> <asp:Button id="Button3" onclick="Button3_Click" runat="server" Text="Side3"></asp:Button> </p> <p> </p> <p> </p> <p> <asp:Label id="Label1" runat="server" Width="130px"></asp:Label> </p> </form> </body> </html> Der kommer denne fejl når jeg trykker på en knap: Server Error in '/' Application. -------------------------------------------------------------------------------- The View State is invalid for this page and might be corrupted. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.Web.HttpException: The View State is invalid for this page and might be corrupted. Source Error: An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. Stack Trace: [HttpException (0x80004005): The View State is invalid for this page and might be corrupted.] System.Web.UI.Page.LoadPageStateFromPersistenceMedium() +150 System.Web.UI.Page.LoadPageViewState() +16 System.Web.UI.Page.ProcessRequestMain() +421 -------------------------------------------------------------------------------- Version Information: Microsoft .NET Framework Version:1.0.3705.288; ASP.NET Version:1.0.3705.288
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
20. april 2003 - 12:04
#1
connor>> du skal enten bruge sessions, viewstate eller lægge din server-execute i selve eventhandleren for dine knapper. Brug forresten switch istedet for alle de if'er :)
22. april 2003 - 17:18
#2
>> cyberfessor Du har ikke et eksempel (gerne simpelt :-) ) på dette?
22. april 2003 - 17:34
#3
void Button2_Click(Object sender, EventArgs e) { Session["side"] = 2; Label1.Text="" + (string)Session["side"]; } void Page_Load(Object sender, EventArgs e){ if ((string)Session["side"] == "1"){ Server.Execute("side1.aspx"); }
22. april 2003 - 21:06
#4
>> cyberfessor Jeg får denne fejl: Specified cast is not valid (Det er typecastningen af string den er galt med...) Min kode: <%@ Page Language="C#" Debug="true" %> <script runat="server"> // Insert page code here // //int side =1; //Session[side] = 0; void Page_Load(Object sender, EventArgs e){ if ((string)Session["side"] == "1"){ Server.Execute("side1.aspx"); } if ((string)Session["side"] == "2"){ Server.Execute("side1.aspx"); } if ((string)Session["side"] == "3"){ Server.Execute("side1.aspx"); } } //Page_Load void Button1_Click(Object sender, EventArgs e) { Session["side"] = 1; // Label1.Text="" + Session["side"]; //Server.Execute("index2.aspx"); } void Button2_Click(Object sender, EventArgs e) { Session["side"] = 2; //Label1.Text="" + Session["side"]; } void Button3_Click(Object sender, EventArgs e) { Session["side"] = 3; //Label1.Text="" + Session["side"]; } </script> <html> <head> </head> <body> <form runat="server"> <p runat="server"> <asp:Button id="Button1" onclick="Button1_Click" runat="server" Text="Side1"></asp:Button> <asp:Button id="Button2" onclick="Button2_Click" runat="server" Text="Side2"></asp:Button> <asp:Button id="Button3" onclick="Button3_Click" runat="server" Text="Side3"></asp:Button> </p> <p> </p> <p> </p> <p> <asp:Label id="Label1" runat="server" Width="130px"></asp:Label> </p> </form> </body> </html> --- Hvis jeg fjerner (string) foran Session kommer der ikke nogen fejl ved side-load, men der sker ikke noget ved tryk på knapperne... Nogen ide'er?
22. april 2003 - 21:12
#5
Ah... ved at skrive Session["side"] = 1 smider du jo en int ned i den... det skal jo være "1", for at være string ;)
22. april 2003 - 21:18
#6
Men jeg får jo fejlen: Specified cast is not valid i linjen: if ((string)Session["side"] == 1){
22. april 2003 - 21:21
#7
der skal jo stå ((string)Session["side"] == "1" du skal også tænke på at første gang du kommer ind på siden, så vil session'en jo være tom.
22. april 2003 - 21:26
#8
Hovsa min fejl jeg mente: if ((string)Session["side"] == "1"){ som giver fejlen: Exception Details: System.InvalidCastException: Specified cast is not valid.
22. april 2003 - 21:31
#9
som sagt... du skal huske at tjekke på om Session["side"] er tom før du cast'er den.
23. april 2003 - 22:07
#10
takker for hjælpen >>cyberfessor smid et svar... og point på vej
24. april 2003 - 00:40
#11
svar :)
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.