Avatar billede connor Nybegynder
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>
            &nbsp;<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
Avatar billede burningice Nybegynder
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 :)
Avatar billede connor Nybegynder
22. april 2003 - 17:18 #2
>> cyberfessor

Du har ikke et eksempel (gerne simpelt :-) ) på dette?
Avatar billede burningice Nybegynder
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");
        }
Avatar billede connor Nybegynder
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">
            &nbsp;<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?
Avatar billede burningice Nybegynder
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 ;)
Avatar billede connor Nybegynder
22. april 2003 - 21:18 #6
Men jeg får jo fejlen: Specified cast is not valid i linjen:
if ((string)Session["side"] == 1){
Avatar billede burningice Nybegynder
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.
Avatar billede connor Nybegynder
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.
Avatar billede burningice Nybegynder
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.
Avatar billede connor Nybegynder
23. april 2003 - 22:07 #10
takker for hjælpen

>>cyberfessor
smid et svar... og point på vej
Avatar billede burningice Nybegynder
24. april 2003 - 00:40 #11
svar :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester