0

検索結果をフィルタリングするためのリンクを提供しようとしています。

    <%= Html.ActionLink("Filter Results", "Index", new { page = Model.RestaurantList.PageIndex(), searchText = Model.SearchText, useFilter = true, filterOption = Model.FilterOption, filterText = Model.FilterText }, null)%>

コントローラの定義はそれ自体です

 public ActionResult Index(int? page, string searchText, bool useFilter, string filterText, string filterOption)

ただし、これをデバッグすると、useFilter変数であっても、値が正しく設定されません。

私のリンクはlocalhost/home / index / true?page=0にレンダリングされます

これを修正する方法はありますか?

4

4 に答える 4

2

コード セグメントは正常に見えます。考えられるエラーは 2 つあります。

  1. 間違ったルート情報: global.ascx.cs/vb ファイルの routes.MapRoute(...) 呼び出しをチェックして、Home#Index アクションのルートが正しく構成されていることを確認してください
  2. 間違ったコントローラ: コントローラを明示的に指定する ActionLink のオーバーロードを使用してみてください

それでも機能しない場合は、詳細情報を投稿することをお勧めします (ルート マッピング コード、ビュー/コントローラーの名前など)。

于 2009-06-28T04:55:49.430 に答える
0

動作するようです。

ActionLinkに渡すモデルフィールドに実際にデータが含まれていることを確認しましたか?

于 2009-06-28T02:18:43.860 に答える
0

ただし、これをデバッグすると、useFilter 変数でさえ、値が正しく設定されません。私のリンクは localhost/home/index/true?page=0 で表示されます

あなたの useFilter パラメータは実際にレンダリングされていると思います。私が推測するルートにマッピングされています。

searchText にハードコードされた値を設定してみてください

表示される場合は、モデルをコントローラーに設定していません。

于 2009-06-28T18:52:42.063 に答える