我创建了一个 mvc3 应用程序。
有一种形式是我从用户那里获取值。
有一个领域叫Gender
我想给出一个下拉列表,其中包含值Male
和Female
但我不明白我在哪里以及如何指定那里的值,请帮忙。
我需要这个或任何异步脚本的 Ajax Helper 方法
我创建了一个 mvc3 应用程序。
有一种形式是我从用户那里获取值。
有一个领域叫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 --")