Avatar billede davidfossil Nybegynder
27. maj 2006 - 15:03 Der er 5 kommentarer og
1 løsning

Postbacks til pæne urls (fjern default.aspx)

Hey eksperter. Jeg har haft denne oppe at vende tidligere, men jeg fandt aldrig nogen rigtig løsning på problemet. Jeg håber at nogen kan hjælpe mig denne gang.

Jeg har en web form som ligger på adressen http://mitdomain.dk/formular/ som benytter sig af postbacks. Når siden poster tilbage, gør den det (meget fornuftigt) til den fuldstændige adresse på filen - i mit tilfælde http://mitdomain.dk/formular/default.aspx

Det gider jeg bare ikke - jeg vil gerne lave en smooth formular, der ikke andre adressen og på den måde "afslører" den rigtige adresse. Desværre kan jeg ikke umiddelbart snyde frameworket her. Følgende er to løsningsforslag, som begge er testede og begge fejlede:

1.
protected override void OnPreRender(EventArgs e)
{
    base.OnPreRender(e);
    Context.RewritePath("./", false);
}

2.
<asp:Button PostBackUrl="./" runat="server" />

Begge forsøg resulterer i en IIS lignende fejlbesked der siger at adressen http://mitdomain.dk/formular ikke må modtage HTTP POST anmodninger.

Er der nogen der har andre idéer til hvordan jeg kan løse det her? Umiddelbart frygter jeg lidt at det slet ikke kan lade sig gøre, uden at pille ved IIS-indstillinger, hvilket ikke kan lade sig gøre (= hosted miljø).
Avatar billede davidfossil Nybegynder
27. maj 2006 - 20:21 #1
Hmm, det her er virkelig mærkeligt: Nu prøvede jeg så løsning #2 igen, men denne gang fra en webhost i stedet for min egen spand - og så virker det! :)

Fejlen jeg får lokalt siger:
The HTTP verb POST used to access path '/Test/formular/' is not allowed.

Hvis nogen kan give en god forklaring samt et tip til hvordan jeg får min VS test server til at opføre sig ordenligt, vil gerne stadig gerne af med min 30 points :-)
Avatar billede lyngzo Nybegynder
28. maj 2006 - 16:11 #2
Du skal blot i din lokale IIS på det virtuelle directory's egenskaber,

angive at default.aspx er blandt de standardfiler der er angivet på fanen dokumenter, og sørge for at der er hakket af i "Aktiver standarddokument",
Avatar billede davidfossil Nybegynder
29. maj 2006 - 11:29 #3
a) Nu er det jo ikke min IIS der er problemet, men derimod VS2005's indbyggede webserver.

b) default.aspx fungerer fint som default document ved GET - det er kun ved POST at jeg får ballade.
Avatar billede lyngzo Nybegynder
29. maj 2006 - 12:29 #4
prøv at putte flg. i din web,config under din
<system.web> node
  <webServices>
        <protocols>
            <add name="HttpGet"/>
            <add name="HttpPost"/>
        </protocols>
    </webServices>
Avatar billede davidfossil Nybegynder
29. maj 2006 - 15:11 #5
Argh - jeg er lidt skeptisk her. Det handler IKKE om webservices! Og jeg er temmelig sikker på at det slet ikke handler om ASP.NET (længere), eftersom at alt kører som det skal på min hostede server...
Avatar billede davidfossil Nybegynder
10. juni 2006 - 15:46 #6
jeg lukker
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