从@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>

'

从@HtmlDropDown中获取所选值

<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);