Avatar billede dennis_vibaek Nybegynder
12. marts 2014 - 11:29 Der er 5 kommentarer og
1 løsning

this.Request["x"]==null || this.Request["y"]==null

Jeg er stødt på noget gammelt kode i en løsning jeg arbejder på.

Har et gridview med et asp:buttonfield på min aspx side

<asp:ButtonField CommandName="Order" Text="Bestil" ButtonType="Image" ImageUrl="~/images/shopcart.gif"/>


I min aspx.cs fil har jeg nedenstående funktion, der "modtager" når der klikkes på knappen i gridview.

Spørgsmålet er hvad this.request["x"] og this.request["y"] har af betydning her ?

Jeg tænker i første omgang at man havde forventet en x og y url-parameter, men dette anvendes ikke i løsningen...

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "Order" && (!(this.Request["x"]==null || this.Request["y"]==null)))
        {  // do something.. }
Avatar billede keysersoze Guru
12. marts 2014 - 12:33 #1
Request spørger på alle request-parametre (form, querystring...) - det er kun hvis du benytter Request.QueryString du begrænser til kun at kigge i din URL. I dit tilfæle kommer x og y formentlig fra klik-koordinaterne på knappen.
Avatar billede dennis_vibaek Nybegynder
12. marts 2014 - 13:12 #2
Tak for svar, du har ganske ret - det er netop x,y klip på knappen. Har selv fundet dette i mellemtiden: http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.imagebutton.aspx

min udfordring er så nu at der ikke længere returneres x,y værdier når siden afvikles i en IE version 9, mens det tilsyneladende var tilfældet i ældre versioner af IE, har f.eks. prøvet i gammel IE6 hvor det virker.
Avatar billede keysersoze Guru
12. marts 2014 - 15:30 #3
Er der i det hele taget grund til at validere om der er trykket - det er jo mere eller mindre det din CommandName gør.
Avatar billede dennis_vibaek Nybegynder
12. marts 2014 - 16:04 #4
Det viste sig at koden var lavet på denne måde for at undgå en fejl i .net2, der udløste at GridView1_RowCommand() blev udført 2 gange.

Min løsning blev at tvinge siden i IE7 mode ved at placere følgende tag i Head-sektion på min masterpage.

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />

Det skal siges at siden snart vil blive afløst af ny løsning, så det er kun en midlertidig løsning og jeg er godt klar over at dette ikke er en anbefalet løsning.
Avatar billede dennis_vibaek Nybegynder
12. marts 2014 - 16:05 #5
Du må gerne ligge et svar, du svarede på mit indledende spørgsmål.
Avatar billede keysersoze Guru
12. marts 2014 - 21:10 #6
Hvis noget bliver kørt 2 gange lyder det mere som en opsætningsfejl - men hvis det bare er en midlertidig løsning kan det meste sikkert bruges.

Hvis du skal tvinge browseren i en anden mode bør du sætte det på som headers via web.config fremfor kun meta - men igen, hvis bare det virker som en kortsigtet løsning.
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

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