关于下拉列表HtmlDownlistFor的使用
1.定义下拉列表需要的数据
public static List<SelectListItem> GetProList()
{
List<SelectListItem> items = new List<SelectListItem>
{
new SelectListItem { Text = "全部", Value = "0" },
new SelectListItem { Text = "未上架", Value = "1" },
new SelectListItem { Text = "已上架", Value = "2" }
};
return items;
}
2.在需要使用的地方,将下拉列表数据传递到前台.
ViewBag.ProList= GetProList();//可伴随传递到前台的Model.Pro一起使用,给下拉框一个默认值。
3.视图页绑定集合以及选中值给下拉框。
@{ var selectList = new SelectList(ViewBag.ProList as List<SelectListItem>, "Value", "Text", item.Pro); }
//使用列表的指定项,数据值字段,数据文本字段,和选定的值来初始化SelectList类的新实例。 @Html.DropDownListFor(modelItem => item.Pro, selectList, new { @class = "form-control", id = "dd_pro" })
//modelItem 是foreach(var modelItem in list)的字段。item.Pro是默认选中的值。selectList是下拉列表的实例。
4.传递给后台当前选中值。
var Pro = $(this).parent("td").parent("tr").children().eq(6).find(":selected").text().trim();
//$(this).parent("td").parent("tr").children().eq(6) 是本下拉框在表格中的位置。
//find(":selected")下拉框当前选中项。这里需要的.text()是其显示文本。也可以根据需要传递其真实值。
5.如果只是单纯使用下拉框,也可以用@Html.DropDownList 。
//前台页面: @Html.DropDownList("DropDownlist", ViewData["TestList"] as List<SelectListItem>, new { @class = "form-control", id = "ddl_process" }) //后台界面: public ActionResult TestView() { ViewData["TestList"] = GetTestList(); //传递下拉列表数据 return View(); } //定义一个包含需要的下列列表数据集合 public static List<SelectListItem> GetTestList() { List<SelectListItem> items = new List<SelectListItem>(); items.Add(new SelectListItem { Text = "One", Value = "0" }); items.Add(new SelectListItem { Text = "Two", Value = "1" }); items.Add(new SelectListItem { Text = "Three", Value = "2" }); items.Add(new SelectListItem { Text = "Four", Value = "3" }); return items; }
以上是最近所做项目中遇到的问题——MVC中用到的一些辅助方法。备以记录,以供查询。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!