0

MVC アプリケーションで HTML、CSS、および C# を使用して Web カレンダーを作成しました。HTML はビューにあり、カレンダーを初期化し、ビューに正しい日を表示するアクションを持つコントローラーがあります。

意図したとおりに機能しますが、問題は、このカレンダーを、さまざまなアクションによって制御され、さまざまなモデルがロードされた無関係なビューのいくつかのページに埋め込みたいという事実から生じます。

ビュー コードをコピーして貼り付け、モデルに必要な調整を加えることができますが、それは理想的ではありません。試してみましRenderActionたが、問題は、ボタンを使用して別の月に移動すると、最初のビューのままになることです。例えば:

@Html.ActionLink("‹", "Calendar", 
new { month = Model.RequestedDateTime.Month - 1, year = 
Model.RequestedDateTime.Year })

この動作を変更する方法はありますか? ありがとう

4

2 に答える 2

1

Html.ActionLink は、常に通常のリンクを作成し、共通の動作をします。カレンダーを共有したい場合。冗長なコードを避けるために、カレンダーを部分ビューとして再設計し、リンクをラベルなどに置き換えることができます。ajax 関数を label-click-event にバインドして、カレンダーを更新します。何かのようなもの:

@Html.Label("<", new { onclick="pageMonthBack("+Model.RequestedDateTime.Month - 1+", " Model.RequestedDateTime.Year+");" })

呼び出された ajax 関数を、個別にロードされるスクリプトに配置します。

于 2013-03-30T11:40:54.463 に答える