ASP.NET MVC Routing

Tags:    mvc routing

Meget meget underligt.
Prøvede at skifte "%20" ud med "+", og så splitte på ' ' og '+' og af en eller anden underlig grund kommer den nu ind i min action hver gang.

Hejsa

Jeg har en rimeligt besynderlig fejl som nogle måske kan hjælpe mig med.
Det mit eksempel indeholder er et styks Controller, en Action med stringinput.
Hvis stringinput er null så skrives en oversigt over alt for denne action (fx kamera), men hvis der puttes stringinput på (kamera/canon eos d10) så findes detaljer for det enkelte kamera.
Fordi nogle af mine modelobjekter hedder det samme så har jeg valgt at kombinere det med en anden variabel, hyldenavn.

Derfor opbygges mit link således når man er på Produkter-siden:
@{
var myLink = "Kamera/" + HttpUtility.UrlEncode(Model.modeltype) + "%20" + HttpUtility.UrlEncode(Model.hyldenavn)
}
"Produkter/" udelades fordi vi er der allerede

MyLink sættes så ind i mit a-tag.

Dette fungerede fint nok til jeg glemte at definere hyldenummer på en af dem, men kom til at tænke på dette faktisk kun er nødvendigt når der er abdre produkter med samme modelnavn, da jeg eller vil kunne finde det på modelnavn alene. Derfor ville jeg gøre min model lidt dynamisk og fejlsikker således at hvis jeg glemmer det så vil den forsøge at finde den uden hyldenummer og hvis den finder en så kan dette præsenteres alligevel og sende mig en mail omkring hændelsen, men stadig levere en god oplevelse for brugeren.

Mit problem er så:
Nu har jeg lavet min fejlhåndtering i koden i Controlleren som modtager tekststrengs input, således hvis den kan finde hyldenummer søger den på en måde og ellers forsøger den på en anden måde.
Når jeg tester det så virker det hver anden gang :(

Første gang siger den resource not found, uanset om jeg debugger eller ej og kommer slet ikke ind i min action hvor mit breakpoint er, men så snart jeg gør det samme igen så virker det.
Hvordan får man lige det løst? :S




Indlæg senest redigeret d. 25.07.2012 01:17 af Bruger #17215
1 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Lidt det samme problem som med din anden tråd, du skal bruge dine helpers til at lave links med og ikke strikke dem sammen med UrlEncode. Fx. @Html.ActionLink(string, string);



t