【问题标题】:Save Html Dropdownlist value after POST MVCPOST MVC 后保存 Html Dropdownlist 值
【发布时间】:2016-02-25 04:51:14
【问题描述】:

我有一个下拉列表,其中填充了我的 sql 数据库中的数据,并且每次用户从我的下拉列表中选择一个选项时,我都有一个带有 POST 的 html 表单,但是每次页面刷新时,我都会在屏幕上显示我的下拉列表默认值用户选择的最后一个项目中的我如何保存用户图片的最后一个值以在 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"

【问题讨论】:

  • 然后您需要将下拉列表绑定到模型属性 - @HtmlDropDownListFor(m = m.someProperty, (SelectList)ViewBag.Fechas, "Todas") 并将 someProperty 的值设置为控制器中的值,然后再将模型传递给视图。
  • 你认为lines = dateday.Split(' ')[0]; 在做什么? - 你也可以使用listItem2.Add(dateday);,因为linesdateday 的值完全相同

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


【解决方案1】:

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

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

其中 item.StatusCode 是先前选择的值。您需要使用 Viewbag、Viewdata 等从控制器传递它。最好在模型本身中传递它

或者

使用 DropDownListFor

You should do like this:

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

地点:

m => m.ContribType

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

【讨论】:

  • 如果lstSelectList 已经是SelectList,你到底为什么要从它创建另一个相同的SelectList。而且由于这对任何东西都没有约束力,所以无论如何它都不起作用。
  • 兄弟,当您想使用 DropDownList Html 帮助器设置选定值时,这是语法,其中 item.StatusCode 是上一个选定值。事情是当您发布表单时,将模型对象作为您的 post 方法中的输入参数。并将其传递给视图
  • 查看更新的答案
  • 不是。如果你想绑定到属性StatusCode,那么它的@Html.DropDownListFor(m = m.StatusCode, Model.lstSelectList)。当您绑定到一个属性时,它的属性值决定了选择的内容!在 SelectList 构造函数中添加最后一个参数会被帮助程序忽略 - 这毫无意义
  • 我现在两种方式都添加了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-29
  • 1970-01-01
  • 1970-01-01
  • 2014-01-11
  • 1970-01-01
  • 2015-06-21
相关资源
最近更新 更多