mvc 下拉框的选中状态保存

风淡云清2013 2017-04-01 11:17:18
在Controller中,我定义了Index 方法,这里有个queryUserID 参数,他是接受下拉框中的value值的,现在我从数据库中获取数据生成了SelectListItem items , 只要queryUserID参数和 items 中的其中一项匹配,就为选中,如何实现,
view中 Html.DropDownList 又如何配置?


public ActionResult Index(string queryUserID)
{

IQueryable<tz_MettingRecord> localDB = null;
IEnumerable<SelectListItem> items = db.Accounts.Where(u => u.RoleType == false)
.OrderBy(u => u.FullName)
.Select(u => new SelectListItem {
Value = u.ID.ToString(),
Text = u.FullName
});
...全文
214 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
正怒月神 版主 2017-04-01
  • 打赏
  • 举报
回复
http://blog.csdn.net/hanjun0612/article/details/52120636 看一下方案二。你要的只是一个默认值而已。
freeflying1222 2017-04-01
  • 打赏
  • 举报
回复
ViewModel的items里加一个: public bool Selected{get; set;} 给它赋值。 然后,View里的DropdownListFor里: @Html.DropdownListFor(m=>m.Select, ……)
风淡云清2013 2017-04-01
  • 打赏
  • 举报
回复
感谢大家自己的方案:

 IEnumerable<SelectListItem> items = db.Accounts.Where(u => u.RoleType == false)
                                                    .OrderBy(u => u.FullName)
                                                    .Select(u => new SelectListItem {
                                                        Value = u.ID.ToString(),
                                                        Text = u.FullName
                                                    });
                foreach (var i in items)
                {
                    if (i.Value.ToString().Equals(queryUserID))
                        i.Selected = true;
                }

                ViewBag.UserList  = items;


view 中 @Html.DropDownList("queryUserID", (IEnumerable<SelectListItem>)ViewBag.UserList, "--- 请选择部门 ---")
风淡云清2013 2017-04-01
  • 打赏
  • 举报
回复
另外,还需要一个默认的提示 option <option value="" selected>--- 请选择部门 ---</option> 具体怎么做?
风淡云清2013 2017-04-01
  • 打赏
  • 举报
回复
hanjun0612 还是有点不太明白,

IEnumerable<SelectListItem> items = db.Accounts.Where(u => u.RoleType == false)
                                                    .OrderBy(u => u.FullName)
                                                    .Select(u => new SelectListItem {
                                                        Value = u.ID.ToString(),
                                                        Text = u.FullName
                                                    })

                ViewData["selectUserList"] = new SelectList(items, "ID", "FullName",queryUserID);



@Html.DropDownListFor((??????, (SelectList)ViewData["selectUserList"], new { Class = "" })
这里的?????? 有问题,我的 视图引用的是
@model IEnumerable<MyApp.Models.tz_MettingRecord>
xiaojunjor 2017-04-01
  • 打赏
  • 举报
回复
IEnumerable<SelectListItem> items = db.Accounts.Where(u => u.RoleType == false) .OrderBy(u => u.FullName) .Select(u => new SelectListItem { Value = u.ID.ToString(), Text = u.FullName <span style="color: #FF0000;">Selected = queryUserID == u.XXX</span> }); //前台 @Html.DropDownList(name,items) //或者 @Html.DropDownListFor(m=>m.XX,items) //具体的DropDownList去查文档
xiaojunjor 2017-04-01
  • 打赏
  • 举报
回复

 IEnumerable<SelectListItem> items = db.Accounts.Where(u => u.RoleType == false)
                                                    .OrderBy(u => u.FullName)
                                                    .Select(u => new SelectListItem {
                                                        Value = u.ID.ToString(),
                                                        Text = u.FullName
                                                        Selected = queryUserID == u.XXX
                                                    });

//前台
@Html.DropDownList(name,items)
//或者
@Html.DropDownListFor(m=>m.XX,items)
//具体的DropDownList去查文档

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧