Etrange Html.ActionLink () Comportement après la mise à niveau à la version bêta 1
-
22-08-2019 - |
Question
Je mis à jour une grande application ASP.NET MVC Je travaille sur la dernière beta aujourd'hui, et après quelques problèmes initiaux, je l'ai souvent travailler à nouveau. Le gros problème est que j'ai des choses comme ceci:
<%= Html.ActionLink("LOGIN", "Index", "Authorization", new { redirect=Request.Url })%>
et
<%= Html.ActionLink("Edit this page", "Edit", "Webpages", new { id = wp.Id })%>
qui rendent les liens comme:
http://localhost:60321/calendar/edit?Length=8
avec différents "Quoique Lengths." Je ne sais pas pourquoi cela se passe; il est comme si mes tables de routage sont allés complètement fou. « Calendrier / modifier / {id} » est un itinéraire valide, mais il est au sujet de la quatrième vers le bas sur la liste. Ceux-ci travaillaient parfaitement avant.
Je suis un peu à mes esprits finissent ici à essayer de comprendre ce qui se passe ... Le texte du lien rend parfaitement; il est juste l'url de certains de ActionLink appels que j'ont ne fonctionnent pas. Certains d'entre eux fonctionnent très bien. Voici un exemple de celui qui fonctionne très bien:
<%= Html.ActionLink("ADMIN", "Index", "ControlPanel") %>
Toute aide serait grandement appréciée!
La solution
De regarder les signatures de méthode sur ActionLink on dirait qu'ils ont changé et il est correspondant à ce qui suit:
ActionLink( string linkText, string action,
object values, object htmlAttributes );
Je voudrais essayer d'ajouter un htmlAttributes null à la fin de ceux qui ne fonctionnent pas pour qu'il utilise celui-ci:
ActionLink( string linkText, string action, string controller,
object values, object htmlAttributes );
ressemblerait à ceci:
<%= Html.ActionLink("LOGIN",
"Index",
"Authorization",
new { redirect=Request.Url },
null )%>
Le code source pour MVC Beta 1 est situé à http://www.codeplex.com/aspnet (serveur SCC semble être en panne à ce moment 12/18/2008 1: CST 16h). J'ai trouvé les signatures via IntelliSense.