所以我得到了我的下拉列表的值,但我想从这个下拉列表中获取选定的值。怎么做?
型号:
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>
`
答案 0 :(得分:1)
将您的<form action="">
替换为:
@using (Html.BeginForm("MyActionName") {
// ...
//here add to your dropdown and give it a name
@Html.DropDownList("Regiony", null, String.Empty)
// ...
}
<select>
元素的名称属性(下拉列表)将为&#34; Regiony&#34;。
在你的控制器中:
public ActionResult MyActionName(string Regiony) {
// here Regiony variable contains the selected value.
// ...
}
答案 1 :(得分:0)
这是我采取的方法;
1)检索项目并将其存储在SelectListItem列表中。 2)使用SelectListItem列表将其分配给下拉列表。 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)包含HeatingType作为LookupData列表和获取列表的方法:
public List<LookupData> HeatingTypeData { get; set; }
public static List<LookupData> GetHeatingType()
{
return LookupData.GetDataList("HeatingType").OrderBy(m => m.SortOrder).ToList();
}
然后是LookupData:
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);