在POST MVC之后保存Html Dropdownlist值

时间:2016-02-25 04:51:14

标签: javascript c# asp.net-mvc razor postback

我有一个下拉列表,其中填充了我的sql db中的数据,每次用户从我的下拉列表中选择一个选项时,我都会有一个带有POST的html表单,但是每次页面刷新时我都会在屏幕上显示我的Dropdownlist默认值用户选择的最后一项是如何保存用户在POST后留在屏幕上的最后一个值?

这是我的Viewbag:

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”

1 个答案:

答案 0 :(得分:1)

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

 // Gradle Plugin 2.0+  
 android {  
   defaultConfig {  
     vectorDrawables.useSupportLibrary = true  
    }  
 }  

其中item.StatusCode是Previous Selected Value。你需要使用Viewbag,Viewdata等从控制器传递它。更好地将它传递给模型本身

或者

使用 DropDownListFor

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

其中:

You should do like this:

@Html.DropDownListFor(m => m.ContribType, 
                new SelectList(Model.ContribTypeOptions, 
                               "ContribId", "Value"))

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