0

そこで、Database First と Entity Framework のアプローチで MVC 4 アプリを作成しました。それぞれのモデル、コントローラー、およびビューを作成しました (Entity Framework テンプレートを使用して、読み取り/書き込みアクションとビューを持つ MVC コントローラーを追加することにより)。そのため、作成、削除、編集、インデックス、および詳細ビューと、それぞれのアクション メソッドが付属しています。 ここに画像の説明を入力

[詳細]、[編集]、または [削除] をクリックすると、アクション メソッドのパラメータであるロケーション ID が値とともに渡されないことがわかります。そのため、デフォルト値 0 のみが使用されます。そして、HttpGet を使用して URL のクエリ文字列として渡す必要があることを学びましたが、私の場合、編集/詳細または削除のロケーション ID を暗黙的に渡すにはどうすればよいでしょうか。

4

2 に答える 2

2

次のようにします。

見る:

foreach (var item in Model)
{
    <tr>
        <td>
            @Html.ActionLink("Edit", "EditAction", new {id = item._account})
        </td>
        <td>
            @Html.ActionLink("Details", "DetailsAction", new {id = item._account})
        </td>
        <td>
            @Html.ActionLink("Delete", "DeleteAction", new {id = item._account})
        </td>
   </tr>

}

コントローラ:

    //
    // GET: /Controller/EditAction/id 
    public ActionResult EditAction(int id)
    {
         //Do Something
    }

    //
    // GET: /Controller/DetailsAction/id 
    public ActionResult DetailsAction(int id)
    {
         //Do Something
    }

    //
    // GET: /Controller/DeleteAction/id 
    public ActionResult DeleteAction(int id)
    {
            //Do Something
    }
于 2013-07-23T07:15:23.227 に答える
0

リスト ビュー テンプレートのリンクは、@Html.ActionLink を使用して作成されます。その場合、明示的に指す予定のアイテム ID をそれぞれ含める必要があるため、 @Html.ActionLink("Edit", new {id=item.Id})) のようなものにする必要があります。デフォルトルート。

ところで、これらのリンクには、リスト テンプレートのデフォルトで適切な Id 設定が含まれていないことに驚いています。

于 2013-07-23T07:23:20.370 に答える