私はMVCを初めて使用するので、おそらく混乱しています。誰かが私にかみそりのドロップダウンを説明してもらえますか。私の質問は-
- ドロップダウンリストとドロップダウンリストの違いは何ですか
- データベーステーブルのID列を値として渡し、NAME列をテキストとして渡すにはどうすればよいですか。
- ドロップダウンリストに「その他」を追加するにはどうすればよいですか。
- コードビハインドでselectedlistitemにアクセスするにはどうすればよいですか。
可能であれば例を挙げて説明してください。
私はMVCを初めて使用するので、おそらく混乱しています。誰かが私にかみそりのドロップダウンを説明してもらえますか。私の質問は-
可能であれば例を挙げて説明してください。
DropDownList は、次のようなコードで生成されます。
@Html.DropDownList("PersonId", new SelectList(Model.People, "Id", "Text");
一方、DropDownListFor は次のように生成されます。
@Html.DropDownListFor(m => m.PersonId, new SelectList(Model.People, "Id", "Text")
DropDownList の問題は、マジック ストリングがあることです。後でモデルをリファクタリングすることにした場合、マジック ストリングも変更するのを忘れてしまう大きな変更があります。次のような LINQ クエリを実行できます。
var datalist = New SelectList(from x in _peopleService
select new SelectListItem { Text = x.Name, Value = x.Id});
間にサービスまたは ORM がない場合は、それを状況に適用する必要がありますが、そのようなリストを生成できます。nr 2以降は、次のことができます
datalist.Add(new SelectListItem() { Text = "Other", Value = "-1"});
また、ビューに渡されるビューモデル/モデルにそのデータリストを配置する必要があるため、それを使用して選択リスト項目を生成できます。この場合、次のことができます。
@Html.DropDownListFor(x => x.PersonId, Model.PersonList);
モデルに PersonList としてリストを保存した場合。