从@HtmlDropDown中获取所选值
本文关键字:获取 @HtmlDropDown | 更新日期: 2023-09-27 17:56:13
所以我为我的下拉列表获取值,但我想从这个下拉列表中获取选定的值。怎么做?
型:
public partial class Region
{
public int Id_regionu { get; set; }
public string Nazwa { get; set; }
}
控制器:
public class HomeController : Controller
{
private inzS9776Entities db = new inzS9776Entities();
protected override void Dispose(bool disposing)
{
db.Dispose();
base.Dispose(disposing);
}
public ActionResult Index()
{
ViewBag.Regiony = new SelectList(db.Region,"Id_regionu", "Nazwa");
return View();
}
和"使用下拉列表查看":
<div class="jumbotron">
<legend>
<h2>Wyszukaj wycieczkę</h2></legend><br/>
<form action="">
<div class="container">
Wybierz kierunek:
@Html.DropDownList("Regiony",null, String.Empty)<br />
Data wyjazdu:
<input class="date" type="date" name="startDate"><br><br>
</div>
</form>
'
将<form action="">
替换为:
@using (Html.BeginForm("MyActionName") {
// ...
//here add to your dropdown and give it a name
@Html.DropDownList("Regiony", null, String.Empty)
// ...
}
<select>
元素(下拉列表)的名称属性将为"区域"。
在控制器中:
public ActionResult MyActionName(string Regiony) {
// here Regiony variable contains the selected value.
// ...
}
这是我
采取的方法;
1) 检索项目并将其存储在选择列表项列表中。2)使用列表 选择列表项 将其分配给下拉列表。3) 使用模型字段将下拉列表与所选值绑定
视图
<div class="col-sm-8">
@{
List<SelectListItem> listItems = new List<SelectListItem>();
foreach (LookupData l in Model.HeatingTypeData)
{
listItems.Add(new SelectListItem { Text = l.LookupDescription, Value = l.LookupCode });
}
}
@Html.DropDownListFor(m => m.HeatingType, listItems, new { @class = "form-control" })
@Html.ValidationMessageFor(m => m.HeatingType)
</div>
模型: 示例中使用的模型 (VoidProperty) 包含 HeatType 作为 LookupData 列表和获取列表的方法:
public List<LookupData> HeatingTypeData { get; set; }
public static List<LookupData> GetHeatingType()
{
return LookupData.GetDataList("HeatingType").OrderBy(m => m.SortOrder).ToList();
}
然后查找数据:
public class LookupData : ILookup
{
public string LookupCode { get; set; }
public string LookupDescription { get; set; }
public int SortOrder { get; set; }
public static List<LookupData> GetDataList(string LookupGroup)
{
DBContexts.VoidsDBContext context = new DBContexts.VoidsDBContext();
var Params = new SqlParameter { ParameterName = "LookupGroup", Value = LookupGroup };
return context.Database.SqlQuery<LookupData>("p_LookupList @LookupGroup", Params).ToList();
}
}
控制器返回视图并传递模型的实例;
VoidProperty _property = new VoidProperty();
......
......
_property.HeatingTypeData = VoidProperty.GetHeatingType();
......
return View(_property);