将 Html.DropDownList 的选定值传递给控制器
Posted
技术标签:
【中文标题】将 Html.DropDownList 的选定值传递给控制器【英文标题】:pass the selected value of Html.DropDownList to controller 【发布时间】:2021-11-12 00:31:15 【问题描述】:我的视图页面中有一个下拉菜单。由于下拉列表只有两个值并且不会更改,因此我们决定创建静态下拉列表。
@html.DropDownList("RelationshipWithFather", new List<SelectListItem>()
new SelectListItem() Text= "son", Value = "son" ,
new SelectListItem() Text= "daughter", Value = "daughter"
, "relationship...", new @class = "form-control" )
如何传递这个RelationshipWithFather
下拉选择的值来创建控制器方法。
public ActionResult Create(PatientInfo vdm_)
if (ModelState.IsValid)
PatientInfo vdm = new PatientInfo();
vdm.relationshipWithPatient = // selected value of RelationshipWithFather
我必须将所选下拉列表的值设置为模型类的relationshipWithPatient
属性。
【问题讨论】:
如果您查看文档,您会看到 SelectListItem 具有属性 Selected。 docs.microsoft.com/pl-pl/dotnet/api/… 【参考方案1】:尝试使用 DropDownListFor
@model PatientInfo
....
@
var items= new List<SelectListItem>()
new SelectListItem() Text= "son", Value = "son" ,
new SelectListItem() Text= "daughter", Value = "daughter"
;
@using (Html.BeginForm())
@Html.DropDownListFor (model=>model.relationshipWithPatient, items , "relationship...", new @class = "form-control" )
或者我更喜欢
<select class="form-control" asp-for="@Model.relationshipWithPatient" asp-items="@items"></select>
动作
public ActionResult Create(PatientInfo vdm)
if (ModelState.IsValid)
var selected= vdm.relationshipWithPatient; //selected value of RelationshipWithFather
.....
【讨论】:
以上是关于将 Html.DropDownList 的选定值传递给控制器的主要内容,如果未能解决你的问题,请参考以下文章
将当前值的 html.dropdownlist 传递给 Actionlink?