Avatar billede baddaydaddy Nybegynder
09. august 2011 - 16:49 Der er 3 kommentarer og
1 løsning

Problemer ved brug af Buttons OnClientClick til at skifte display-style på panel

Jeg har to paneler og en knap (og en masse andet - koden fylder over 700 linier, så her er kun det væsentligste). Det hele ligger inden i samme AJAX TabContainer og UpdatePanel:

<asp:Button ID="button1" runat="server" />

<asp:Panel ID="panelDimBackground" runat="server" style=" display:none" CssClass="DimBackground"></asp:Panel>

<asp:Panel ID="panelPopup" runat="server" style=" display:none" BorderColor="Black" BorderWidth="1px">


button1 tildeles to javascript-kald til OnClientClick i codebehind-filen:

button1.OnClientClick = "ShowHide('" + panelDimBackground.ClientID + "');ShowHide('" + panelPopup.ClientID + "');";

Javascript funktionen:
function ShowHide(id) {
        var el = $get(id);
        if (el.style.display == 'none') {
            el.style.display = 'block';
        }
        else {
            el.style.display = 'none';
        }
    }

Når der klikkes på knappen bliver de to paneler vist i 1-4 sekunder hvorefter de skjules igen...!

Har lagt mærke til at lige meget hvad jeg gør så vender siden (Page_Load bliver kaldt) og måske er det her problemet ligger, har forsøgt at sætte UseSubmitBehavior og CausesValidation til 'false' (ikke fordi jeg regnet med at sidste ville hjælpe), men uden effekt.
Har også forsøgt at flytte style="display:none" fra HTML koden og sætte denne i codebehind-filen efter 'if (!IsPostBack)', men det giver heller ingen forskel.
Avatar billede keysersoze Guru
09. august 2011 - 17:08 #1
button1.OnClientClick = "ShowHide('" + panelDimBackground.ClientID + "');ShowHide('" + panelPopup.ClientID + "'); return false;";

burde kunne gøre det - men skal du ikke benytte .NET funktionalitet er der ingen grund til at benytte en .NET kontrol, så kan du nøjes med at indsætte en standard html button (hvilket også vil gøre din side (minimalt) hurtigere).
Avatar billede knmuel1 Nybegynder
09. august 2011 - 22:11 #2
Hi ,
  I can help you with this assingment .
Do let me know
Regards
Avatar billede baddaydaddy Nybegynder
10. august 2011 - 08:44 #3
"return false;" gjorde (selvfølgelig) tricket - var nok lidt træt i går... (giv lige et svar)

Desværre bliver jeg nødt til at sætte Text-property i codebehind.
Avatar billede keysersoze Guru
17. august 2011 - 23:26 #4
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
Kurser inden for grundlæggende programmering

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