【发布时间】: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);,因为lines与dateday的值完全相同
标签: javascript c# asp.net-mvc razor postback