1. 已知下拉菜单列表项:
在 Controller 控制器类中输入已下代码

 1 public class DemoController : Controller
 2 {
 3     public ActionResult BindDropDownList()
 4     {
 5         List<SelectListItem> select1 = new List<SelectListItem>
 6         {
 7             new SelectListItem { Text = "内容", Value = "值" },
 8             new SelectListItem 
 9         };
10         
11         ViewData["select1"] = new SelectList(select1, "Value", "Text", "此处为默认项的值");
12         
13         return View();
14     }
15 }

 
在 View 中使用


1 <%= Html.DropDownList("select1") %>

 
这种方法简单明了,也比较方便,如果不用从数据库中读取数据的话,可以采用这种方法。
 


2. 从数据库或者数组中循环读取下拉列表项 

此处省略数据库连接代码,从数据库读出的数据与字符串数组中存储的数据类似,以下就以数组为例。 
在 Controller 中控制器类中输入已下代码


 1 public class DemoController : Controller
 2 {
 3     public ActionResult BindDropDownList()
 4     {
 5         string[] texts = new string[] { "一", "二", "三", n };
 6         string[] values = new string[] { "1", "2", "3", n };
 7         
 8         List<SelectListItem> select1 = new List<SelectListItem>();
 9         
10         for (int i = 0; i < texts.Length; i++)
11         {
12             select1.Add(new SelectListItem
13             {
14                 Text = texts[i],
15                 Value = values[i]
16             });
17         };
18         
19         ViewData["select1"] = new SelectList(select1, "Value", "Text", "此处为默认项的值");
20         
21         return View();
22     }
23 }

 
在 View 中使用 


1 <%= Html.DropDownList("select1") %>

 
其实这种方法看起来跟第1种比较类似,只是读取数据的时候,采用了一个循环的语句。 
 


3.  从数据库中读取某表的所有下拉菜单列表项

此处假设已存在 Category 类,可以通过 Category.GetList() 方法获取该表的所有分类,该表包含 ID 和 Name 两个数据列。
在 Controller 中控制器类中输入已下代码


 1 public class DemoController : Controller
 2 {
 3     public ActionResult BindDropDownList()
 4     {
 5         List<CategoryEntiry> categories = Category.GetAll();
 6         
 7         ViewData["Categories"] = new SelectList(categories, "ID", "Name");
 8         
 9         return View();
10     }
11 }

 
在 View 中使用


1 // 首先将 ViewData 中的数据转化为 SelectList
2 <% SelectList categories = ViewData["Categories"] as SelectList; %>

4 // 然后才能输出
5 <%= Html.DropDownList("Category", categories) %>

 
在这里需要注意,就是第3种与前2种在 View 中使用方法稍有不同,当然也可以将前2种方法改为第3种方法,或者将第3种方法改为前2种方法。

【网摘】C#.NET 在 MVC 中动态绑定下拉菜单的方法的更多相关文章

  1. Android ActionBar中的下拉菜单

    在ActionBar中添加下拉菜单,主要有一下几个关键步骤: 1. 生成一个SpinnerAdapter,设置ActionBar的下拉菜单的菜单项 2. 实现ActionBar.OnNavigatio ...

  2. Delphi访问网页中的下拉菜单

    Delphi通过TWebBrowser浏览网页,然后访问该网页中的下拉菜单: uses MsHtml;procedure TForm1.Button1Click(Sender: TObject);va ...

  3. yii框架中的下拉菜单和单选框

    yii中的下拉菜单: 第一种: <?= $form->field($model, 'parent_id')->dropDownList(ArrayHelper::map($data, ...

  4. 初学者--bootstrap(六)组件中的下拉菜单----在路上(10)

    组件---下拉菜单 用于显示链接列表的可切换.有上下文的菜单.下拉菜单的 JavaScript 插件让它具有了交互性. 将下拉菜单触发器和下拉菜单都包裹在 .dropdown 里,或者另一个声明了 p ...

  5. bootstrap日期控件在火狐下的模态框中选择时间下拉菜单无效的解决办法

    今天收到程序组提交的一个兼容BUG,在火狐中使用模态框加载日期控件时选择时间下拉菜单没有效果(不能点击),而在谷歌中却是好的, 排错思路:1,在当前页面主层放置一个时间控件,测试通过 2,在ajax加 ...

  6. bootstrap中的下拉菜单

    下拉菜单必要的代码: <div  class="container"> <div  class="dropdown"> <butt ...

  7. bootstrap中selectpicker下拉框使用方法实例

    最近一直在用bootstrap 的一些东西,写几篇博客记录下.... bootstrap selectpicker是bootstrap里比较简单的一个下拉框的组件,先看效果如下: 附上官网api链接, ...

  8. Bootstrap页面布局16 - BS导航菜单和其响应式布局以及导航中的下拉菜单

    代码: <div class='container-fluid'> <h2 class='page-header'>导航</h2> <!-- .navrbar ...

  9. PHOTOSHOP中3D下拉菜单为灰色如何设置

    方法/步骤   安装好PS后,在测试3D功能时突然发不能用.如图,怎么办呢?   按“CTRL+K”打开,或者在编辑-首选项-性能-勾选“启用OpenGL绘图(D)”   在选项对话框中勾选“启用Op ...

随机推荐

  1. Android 两种方式实现类似水波扩散效果

    原文链接 https://mp.weixin.qq.com/s/M19tp_ShOO6esKdozi7Nlg 两种方式实现类似水波扩散效果,先上图为敬 自定义view实现 动画实现 自定义view实现 ...

  2. Redis--Memched--Cache缓存介绍使用

    目录:  一.分布式缓存—Redis与Memched的区别 1.1.      数据支持类型 1.2.      持久性 1.3.      内存利用情况 1.4.      数据一致性 1.5.   ...

  3. 我们一起来排序——使用Java语言优雅地实现常用排序算法

    破阵子·春景 燕子来时新社,梨花落后清明. 池上碧苔三四点,叶底黄鹂一两声.日长飞絮轻. 巧笑同桌伙伴,上学径里逢迎. 疑怪昨宵春梦好,元是今朝Offer拿.笑从双脸生. 排序算法--最基础的算法,互 ...

  4. OAuth2.0记录

    阮一峰老师讲解OAuth2.0 http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html 举例详解: https://www.cnblogs.com/ ...

  5. Mybatis框架的简单运用

    一.配置流程 1.流程示意图(通过XML映射文件实现): 2.流程: 2.1 导入包: 2.1.1 下载包 数据库驱动包(本文以MySQL为例):https://mvnrepository.com/a ...

  6. PowerDesigner制作UMI图

    首先我们要下载一个PowerDesigner,自己上百度下载哈!嘻嘻!!! 我这个是汉化版的 然后点这个,再到空白的地方点一下就创建好了. 然后单击右边箭头然后双击 不管是制作的图还是代码生成的图都可 ...

  7. 配置IIS网站,我遇到的那些坑~

    配置错误 不能在此路径中使用此配置节.如果在父级别上锁定了该节,便会出现这种情况.锁定是默认设置的(overrideModeDefault="Deny"),或者是通过包含 over ...

  8. 中国四大骨干网与十大ISP服务商

    1.骨干网 几台计算机连接起来,互相可以看到其他人的文件,这叫局域网,整个城市的计算机都连接起来,就是城域网,把城市之间连接起来的网就叫骨干网.这些骨干网是国家批准的可以直接和国外连接的互联网.其他有 ...

  9. Java面向对象概述及三大特征(封装,继承和多态)

    一.面向对象思想 Java是面向对象的高级语言,对于Java语言来说,万事万物皆对象! 它的基本思想是使用类,对象,继承,封装,消息等基本概念进行程序设计.面向对象程序的最小单元是类,类代表了客观世界 ...

  10. python列表的交、并、差集

    #!/usr/bin/env python3 l1 = ['] l2 = ['] # 交集 result1 = [i for i in l1 if i in l2] result2 = list(se ...