mvc3 アプリケーションを 1 つ作成しました。
ユーザーから値を取得するフォームが 1 つあります。
と呼ばれる 1 つのフィールドがあります。Gender
値Male
とそのドロップダウンリストを提供したいFemale
しかし、どこでどのように値を指定するのかわかりません。助けてください。
このスクリプトまたは任意の非同期スクリプトに Ajax Helper メソッドが必要です
mvc3 アプリケーションを 1 つ作成しました。
ユーザーから値を取得するフォームが 1 つあります。
と呼ばれる 1 つのフィールドがあります。Gender
値Male
とそのドロップダウンリストを提供したいFemale
しかし、どこでどのように値を指定するのかわかりません。助けてください。
このスクリプトまたは任意の非同期スクリプトに Ajax Helper メソッドが必要です
最も簡単な方法は、Html でこれを行うことです。
<select id="selection" name="selection">
<option value="1">Male</option>
<option value="2">Female</option>
</select>
razor でこれを行うこともできます:
@Html.DropDownLiwt("GenderSelection", "Male")
コントローラー内でこれを行った後:
Dim genderSelection As List(Of String) = New List(Of String)
genderSelection.Add("Male")
genderSelection.Add("Female")
ViewData("GenderSelection") = New SelectList(genderSelection)
まず、ドロップダウンのエンティティクラスを作成します。値のリストを返します
public class KeyValueEntity
{
public string Description { get; set; }
public string Value { get; set; }
}
public class MyViewModel
{
public List<KeyValueEntity> Status { get; set; }
}
コントローラに次のコードを記述します
[HttpGet]
public ActionResult Dropdown()
{
MyViewModel model = GetDefaultModel();
return View(model);
}
}
public MyViewModel GetDefaultModel()
{
var entity = new MyViewModel();
entity.Status = GetMyDropdownValues();
return entity;
}
private List<KeyValueEntity> GetMyDropdownValues()
{
return new List<KeyValueEntity>
{
new KeyValueEntity { Description = "Yes" , Value ="1" },
new KeyValueEntity { Description = "No" , Value ="0"}
};
}
cshtmlページのコード:モデルクラスを定義するビューの上に、ビューをモデルにバインドする必要があります。
@model MyViewModel
Following is the code for dropdown binding
@Html.LabelForModel("Status:")
@Html.DropDownListFor(m => m.Status, new SelectList(Model.Status, "Value", "Description"), "-- Please Select --")