0

問題の説明: ASP.NET MVCを使用していますが、コントローラークラスに次のメソッドがあります。このメソッドは、SelectListメソッドを使用して、データベースからアイテムのリストを選択します。これらのアイテムはビューに渡され、ドロップダウンリストに表示されます。

public ActionResult Edit(int id)
{
    Album album = db.Albums.Find(id);

    ViewBag.ArtistId = new SelectList(db.Artists, "ArtistId", "Name", album.ArtistId);
    return View(album);
}

selectMethodの私の理解:

最初のパラメータがアイテムのリストを取得することを知っています。
3番目のパラメータは表示されるプロパティです。この場合、Artistsのnameプロパティを表示します。私の調査に基づいて、4番目のパラメータがドロップダウンリストに表示されるデフォルト値であることがわかりました。

私の質問:

1)2番目のパラメータについて誰かに理解してもらいたい。

2)アーティストの名前を表示しているので、アーティストIDを使用して4番目のパラメーターにデフォルトのアーティスト名を表示するにはどうすればよいですか?

皆さんが私の質問を理解してくれたことを願っています。あなたがそうする必要があるならば、私はあなたにそれらを明らかにしたいと思います。

4

2 に答える 2

1
  1. 2 番目のパラメーターは、最初のパラメーターの各要素の「値」プロパティまたはフィールドの名前です。2 人のアーティストが同じものを持っている可能性があるため、通常は (例のように) ID 列を使用して、どのアイテムが選択されたかを明確に把握することをお勧めします。
  2. この例では、現在表示されているアルバムのアーティストを表示するデフォルトとして提供しています。db.Artists指定された値に一致するプロパティを持つアーティストが含まれていると仮定するとArtistId、レンダリングされた HTML は、そのアーティストが選択された選択リストを生成します。

それはあなたの質問に答えましたか?

于 2013-01-10T18:46:08.033 に答える
0

ドキュメントによる

最初のパラメーターはIEnumerable、リストを作成するためのオブジェクトのです。

value2番目のパラメーターは、レンダリングされた各HTML<option>要素の属性として使用されるオブジェクトプロパティ(リスト内の各オブジェクト)の名前です。

text3番目のパラメーターは、レンダリングされた各HTMLの属性として使用されるオブジェクトプロパティ(リスト内の各オブジェクト)の名前です<option>

4番目のパラメーターは、デフォルトで選択されていますvalue(これは、属性でレンダリングされるリストの要素を示しselectedます)。

于 2013-01-10T18:49:13.980 に答える