Strano Html.ActionLink () Comportamento dopo l'aggiornamento a Beta 1
-
22-08-2019 - |
Domanda
Ho aggiornato una grande applicazione ASP.NET MVC ho lavorato su per l'ultima beta di oggi, e dopo alcuni problemi iniziali, li ho per lo più a lavorare di nuovo. Il grosso problema è che ho cose come questa:
<%= Html.ActionLink("LOGIN", "Index", "Authorization", new { redirect=Request.Url })%>
e
<%= Html.ActionLink("Edit this page", "Edit", "Webpages", new { id = wp.Id })%>
che rendono i link come:
http://localhost:60321/calendar/edit?Length=8
Pur con diverse "lunghezze". Non ho idea perché questo sta accadendo; è come se le mie tabelle di routing sono andati completamente folle. "Calendario / modificare / {id}" è un percorso valido, ma si tratta del quarto giù nella lista. Questi funzionavano perfettamente prima.
Sono una specie di al mio ingegno finiscono qui a cercare di capire cosa sta succedendo ... Il testo del collegamento rende perfettamente; è solo l'url del alcuni del ActionLink chiamate che abbiamo sono non funziona. Alcuni di loro lavorano bene. Ecco un esempio di uno che funziona bene:
<%= Html.ActionLink("ADMIN", "Index", "ControlPanel") %>
Qualsiasi aiuto sarebbe molto apprezzato!
Soluzione
Da guardando le firme dei metodi su ActionLink sembra che sono cambiati e si corrispondono i seguenti:
ActionLink( string linkText, string action,
object values, object htmlAttributes );
Vorrei provare ad aggiungere un null htmlAttributes alla fine di quelli che non funzionano in modo che utilizzi questo:
ActionLink( string linkText, string action, string controller,
object values, object htmlAttributes );
Questa sarà simile:
<%= Html.ActionLink("LOGIN",
"Index",
"Authorization",
new { redirect=Request.Url },
null )%>
Il codice sorgente per MVC Beta 1 si trova a http://www.codeplex.com/aspnet (server SCC sembra essere giù in questo momento 12/18/2008 1: ore 16 CST). Ho trovato le firme tramite IntelliSense.