Hej! Om du ser något där det står "NullReferenceException" så betyder det att det som du tror får in faktiskt är tomt. Till skillnad från asp och vb finns nu även tomt / null i .net och detta måste du ta hand om i fortsättningen. Tack för svar! och efter att ha läst http://www.15seconds.com/issue/990114.htm så är det dags att haja att hämta referrer inte är något man kan använda för att göra jobbet lättare. :-) Om det bara är historik för sidor på din sajt som är intressant, kan du lagra historiken i en session. Hej, att REFERER är tomt behöver inte bara bero på att den aktuella webbläsaren inte stödjer detta utan även IE ger en tom REFERER tex. när den visar upp startsidan eller när ett nytt fönster öppnas, det aktuella fönstret har ju då ingen historik att ge.UlrReferrer
Tänkte jag skulle göra en liten enkel sak, men det vill sig inte.
Felmeddelandet är:
Undantagsinformation: System.NullReferenceException: Objektreferensen har inte angetts till en instans av ett objekt.
Har en sida med knapp med kod för att gå till nästa sida där jag också har en knapp som ska visa förra sidan som visades i en etikett. (Lite labb fortfarande)
I sida 2
Har lagt till Imports System.Uri
Har testat med följande exempelkod
Dim MyUrli As Uri = Request.UrlReferrer
Response.Write("Referrer URL Port: " & MyUrli.Port & "<br>")
Response.Write("Referrer URL Protocol: " & MyUrli.Scheme & "<br>")
Har testat med enkla
strFran = Request.UrlReferrer.ToString()
och (efter att ha läst en artikel här)
strFran = Me.Request.UrlReferrer.ToString()
Bara samma resultat dvs. felmeddelande.
Det känns som om jag bara lägger pussel och saknar en bit. Tycker åtminstone exempelkoden borde fungerat men utgår från att jag förbiser något. Någon som kan ge mig en pussebit?
Tilläggas kan att jag ägnat några timmar här på morgonen att söka på google. (och varit på godotnet)
/AnnSv: UlrReferrer
I detta fall får du helt enkelt kolla MyURLi innan du försöker göra nåt
Dim MyUrli As Uri = Request.UrlReferrer
If Not IsNothing(MyUrli) Then
Response.Write("Referrer URL Port: " & MyUrli.Port & "<br>")
Response.Write("Referrer URL Protocol: " & MyUrli.Scheme & "<br>")
End If
Sv: UlrReferrer
Det är det att det blir null jag har problem det.
Förväntade mig att det skulle finnas ett svar på det jag frågade datorn om.
Har ju kommit från en sida till den sidan där url:en från föregående sida ska visas.
Först körde jag bara lokalt och tänkte efter ditt svar att det var felet.
Nu har jag skickat upp sidorna på servern och får samma svar.
Varför blir det null?
Är det inte rätt när jag ska fråga efter om jag vill veta vilken url som föregick den omfrågade sidan?
/AnnSv: UlrReferrer
Sv: UlrReferrer
Sv: UlrReferrer
Att (som dem gör i artiklen du länkade till) jämföra med REFERER-värdet för att kontrollera att förfrågan verkligen kommer från den "sajten självt" är inte heller rekommendera, då REFERER-värdet enkelt kan ändras. Visst, det ger ett visst skydd, men det är inte att lita på som sagt.
Hur detta görs kan du bla. läsa här:
http://www.swesecure.com/?ID=dc6ea60a-12ae-4e7e-9e9c-59489ccafa90&IID=0a73e68c-e009-477e-b7da-dfef0800de9b
/Fredrik