1

コンパイル エラーが発生し続け、一致するオーバーロードされたメソッドが見つかりません。私はいくつかの方法を試しました(変数、変数.toString)。以下は最新の試みです。

カレンダーの日 (例: 2) をクリックすると、ActionLink はクエリ文字列 "Index?day=2" を送信する必要があります。

@{ string dayAsString = startCount.ToString();}
<div><span>@Html.ActionLink(@startCount.ToString, "Index?day=" + dayAsString , "Event")</span></div>
4

2 に答える 2

1

これを行う

<div>
    <span>
        @Html.ActionLink(startCount.ToString(), "Index", new { day = startCount })
    </span>
</div>

day最後のパラメーターは、プロパティと値を持つ匿名オブジェクトを作成しますstartCount。ActionLink は、プロパティ名とプロパティ値を使用して、それをクエリ文字列に変換することを認識しています。

詳細はこちらhttp://msdn.microsoft.com/en-us/library/dd492936.aspx

編集:

特定のコントローラーをターゲットにしたい場合は、これを行います

@Html.ActionLink(startCount.ToString(), "Index", new { controller = "Event", day = startCount })

これを行うこともできます

@Html.ActionLink(startCount.ToString(), "Index", "Event", new { day = startCount }, null)

nullしかし、パラメーターとして渡すのは好きではありません。

すべてのオーバーロードのリストは次のとおりです: http://msdn.microsoft.com/en-us/library/dd505040.aspx

インテリセンスで循環することもできます。

于 2012-04-19T15:49:50.930 に答える
0

これはうまくいくはずです

@Html.ActionLink(@startCount.ToString,"Index","Yourcontroller",new { day=@startCount.ToString()} , null)

Yourcontrollerをコントローラー名に置き換えます

于 2012-04-19T16:07:04.807 に答える