在 POST MVC 之后保存 Html 下拉列表值

本文关键字:Html 下拉列表 保存 之后 POST MVC | 更新日期: 2023-09-27 18:36:10

我有一个下拉列表,里面充满了我的sql db中的数据,每次用户从我的下拉列表中选择一个选项时,我都有一个带有POST的html表单,但是每次页面刷新时,我都会在屏幕上获得我的下拉列表默认值,而不是用户选择的最后一个项目 如何保存用户图片的最后一个值以在开机自检后保留在屏幕上?

这是我的视袋:

foreach (var item in db.Pos.Select(l => l.Fecha).Distinct())
        {
           dateday = item.ToString("yyyy-MM-dd");
           lines = dateday.Split(' ')[0];
           listItem2.Add(lines);
        }
        var fechas = new SelectList(listItem2.ToList());
        ViewBag.Fechas = fechas;

这是我的视图代码:

 @using (Html.BeginForm("Index", "home/index", FormMethod.Post, new {id="some" }))
      { 
     <input type="hidden" name="txtInput" value=""/>
      @Html.DropDownList("Fechas", "Todas")
      <input type="submit" name="test" value="Calcula Totales"/>  
      }

我希望我的"@Html.DropDownList("Fechas","Todas")"的值是用户选择的最后一个值,而不是默认的"Todas"

在 POST MVC 之后保存 Html 下拉列表值

使用重载版本的 @Html.DropDownList例:

 @Html.DropDownList("itemStatus", new SelectList(Model.lstSelectList, "Value", "Text", item.StatusCode))

其中项。状态代码是上一个选定的值。您需要使用Viewbag,Viewdata等从控制器传递它。最好在模型本身中传递它

使用 DropDownListFor .

You should do like this:
@Html.DropDownListFor(m => m.ContribType, 
                new SelectList(Model.ContribTypeOptions, 
                               "ContribId", "Value"))

哪里:

m => m.ContribType

是结果值所在的属性。选择列表构造函数的最后一个参数是选定的值