0

私は今日取り組んでいる大規模なASP.NETMVCアプリケーションを最新のベータ版にアップグレードしましたが、いくつかの初期の問題の後、ほとんどが再び機能するようになりました。大きな問題は、私が次のようなものを持っていることです:

<%= Html.ActionLink("LOGIN", "Index", "Authorization", new { redirect=Request.Url })%>

<%= Html.ActionLink("Edit this page", "Edit", "Webpages", new { id = wp.Id })%>

これにより、リンクは次のようにレンダリングされます。

http://localhost:60321/calendar/edit?Length=8

「長さ」は異なりますが。なぜこれが起こっているのか私にはわかりません。まるで私のルートテーブルが完全に狂ってしまったかのようです。「calendar/edit / {id}」は有効なルートですが、リストの4番目にあります。これらは以前は完全に機能していました。

私はここで何が起こっているのかを理解しようとしています...リンクテキストは完全にレンダリングされます。これは、私が機能していないActionLink呼び出しの一部のURLにすぎません。それらのいくつかはうまく機能します。正常に動作する例を次に示します。

<%= Html.ActionLink("ADMIN", "Index", "ControlPanel") %>

どんな助けでも大歓迎です!

4

1 に答える 1

2

ActionLinkのメソッドシグネチャを見ると、変更されているように見え、次のように一致しています。

ActionLink( string linkText, string action,
            object values, object htmlAttributes );

動作していないものの最後にnullhtmlAttributesを追加して、これを使用するようにします。

ActionLink( string linkText, string action, string controller,
            object values, object htmlAttributes );

これは次のようになります。

<%= Html.ActionLink("LOGIN",
                    "Index",
                    "Authorization",
                    new { redirect=Request.Url },
                    null )%>

MVC Beta 1のソースコードはhttp://www.codeplex.com/aspnetにあります(SCCサーバーは現在2008年12月18日1:16Pm CSTでダウンしているようです)。インテリセンスを介して署名を見つけました。

于 2008-12-18T19:14:08.687 に答える