Avatar billede pumpin Nybegynder
13. oktober 2005 - 08:36 Der er 6 kommentarer og
1 løsning

problemmer med at veiwstate

hey eksperter.

jeg har før oprettet et post om en menu jeg havede lavet på panels som blev show og hidded. Men da jeg ikke kunne få tilgang til mine knapper som lå i det panel når jeg lagde det ind i et formveiw valgte jeg at kaste mig over at lave fold ud funktionen via session eller veiwstate.

jeg har laven simpel lille if sætning som omklamre den kode som skal show og hiddes, den virker også fint der er bare et lille men... jeg skal trykke 2 gange på knappen for at få den til at folde ud første gang.

det vil sige at den opretter min viewstat men den (hvad kan man sige, den gør det ikke i pageload så jeg er nødsaget til at trykke igen )

her er lidt kode:

if sætning som ligger i mit html.

<table>
    <tr>
        <td><asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="~/grafix/Cross.gif" OnClick="ImageButton1_Click" /></td>
        <td>Font settings</td>
    </tr>
  <%if ((string)ViewState["test"] == "1")
    {
  %>
    <tr>
        <td></td>
        <td>
            <asp:DropDownList ID="DropDownList1" runat="server">
            <asp:ListItem>test</asp:ListItem>
            </asp:DropDownList>
        </td>
    </tr>
    <tr>
        <td></td>
        <td><asp:DropDownList ID="DropDownList2" runat="server">
        <asp:ListItem>hmmm</asp:ListItem>
            </asp:DropDownList>
        </td>
    </tr>
    <tr>
        <td></td>
        <td><asp:CheckBox ID="CheckBox1" runat="server" /></td>
    </tr>
    <%} %>
</table>

koden som ligger på min imageknap.

protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
    {
        if ((string)ViewState["test"] == "")
        {
            ViewState.Add("test", "1");
        }
        else
        {
            ViewState.Add("test", "");
        }
    }
Avatar billede perlund Nybegynder
13. oktober 2005 - 09:08 #1
Årsagen er at PostBackEvents kommer efter checket ((string)ViewState["test"] == "1"), der i ASP.NET eventcyclen finder sted på Init-tidspunktet.
Avatar billede pumpin Nybegynder
13. oktober 2005 - 10:48 #2
hehe jeg havede gættet at det var der fejlen lå og har virkelig prøvet at lave noget fiks fakseri for at tjekke om min variabel er sat i min Page_Load.. men uden held nogen forslag ?
Avatar billede pumpin Nybegynder
13. oktober 2005 - 10:48 #3
kan man måske tryll emed at medføre et commandArgument elle rnoget i den dur ?
Avatar billede perlund Nybegynder
13. oktober 2005 - 10:59 #4
Du kan gøre noget i den stil:

<table>
    <tr>
        <td><asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="~/grafix/Cross.gif" OnClick="ImageButton1_Click" /></td>
        <td>Font settings</td>
    </tr>
<asp:placeholder id="phRaekker" runat="server">
    <tr>
        <td></td>
        <td>
            <asp:DropDownList ID="DropDownList1" runat="server">
            <asp:ListItem>test</asp:ListItem>
            </asp:DropDownList>
        </td>
    </tr>
    <tr>
        <td></td>
        <td><asp:DropDownList ID="DropDownList2" runat="server">
        <asp:ListItem>hmmm</asp:ListItem>
            </asp:DropDownList>
        </td>
    </tr>
    <tr>
        <td></td>
        <td><asp:CheckBox ID="CheckBox1" runat="server" /></td>
    </tr>
</asp:placeholder>
</table>

koden som ligger på min imageknap.

protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
    {
        if ((string)ViewState["test"] == "")
        {
            ViewState.Add("test", "1");
            phRaekker.Visible = true;
        }
        else
        {
            ViewState.Add("test", "");
            phRaekker.Visible = false;
        }
    }
Avatar billede pumpin Nybegynder
13. oktober 2005 - 11:14 #5
jeps det ahr jeg prøvet.. men problemmet bliver så at jeg kan ikke "programmere" mine knapper når jeg så stopper det ind i et formview så siger den at mine knapper ikke er a part of the current content :( har både prøvet med placeholder og panels..

her er et link til mit gamle problem :)
http://www.eksperten.dk/spm/654032
Avatar billede perlund Nybegynder
13. oktober 2005 - 11:50 #6
Hvis du skal have knapper i et formview skal du benytte Formviewets CommandEvents.

Så i stedet for din ImageButton1_Click bruger du Formview1_ItemCommand eller lign.
Avatar billede pumpin Nybegynder
20. februar 2006 - 16:52 #7
oki jeg roder vidre med det
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