8

ページングサポートを実装しようとすると、このエラーが発生します。

私はhtmlチュートリアルのこのステップにいます:http://nerddinnerbook.s3.amazonaws.com/Part8.htm

4

2 に答える 2

23

表示されるエラーは、ASP.NET MVC が同じ名前の 2 つのアクションを検出し、どちらを使用するかを選択できないことを示しています。

に 2 つの Index-action がある場合DinnersController.cs:

public ActionResult Index() {

と:

public ActionResult Index(int? page) {

次に、最初のアクションを削除する必要があります。2 番目は最初のバージョンの「更新」バージョンであるためです。2 番目のアクションは、次への要求を受け入れます。

/ディナー

/ディナー?page=2

/ディナー/目次

/ディナー/インデックス?page=2

また、RegisterRoutes の変更により、次の要求も受け入れます。

/ディナー/ページ/2

1 つが保存用 (ポストバック) である場合、同じ名前の 2 つのアクションを使用できます[AcceptVerbs(HttpVerbs.Post)][HttpPost]

于 2011-09-27T20:39:44.417 に答える
21

MVC は、コントローラーでのアクション メソッドのオーバーロードをサポートしていません。同じコントローラに異なるメソッド シグネチャを持つ 2 つの Index() アクションを設定することはできません。

テストしている例を機能させるには、パラメーターを受け入れない Index() アクションを削除し、null 許容の int をパラメーターとして受け取るアクションに置き換える必要があります。

于 2011-09-27T19:58:08.233 に答える