我们先在控制器中准备好一个SelectList类型,然后通过ViewBag.List传入视图中。SelectList类型是ASP.NET MVC专门为列表有关的HTML辅助方法提供选项的,例如,Html.DropDownList()、Html.ListBox()都可以使用。

 public ActionResult HelperDropDownList()
{
List<SelectListItem> listItem = new List<SelectListItem>{
new SelectListItem{Text="是",Value=""},
new SelectListItem{Text="否",Value=""}
};
ViewBag.List = new SelectList(listItem,"Value","Text","");
return View();
}

然后在视图中就可以创建下拉列表了。

@Html.DropDownList("List", ViewBag.List as SelectList, "请选择")

渲染的HTML是这样的:

 <select name="List" id="List">
<option value="">请选择</option>
<option value="1">是</option>
<option value="0">否</option>
</select>

还有,若是后台数据使用ViewData传到视图时,可以这样写:

 //后台用ViewData传值到页面,或者用ViewBag
public ActionResult HelperDropDownList()
{
List<SelectListItem> listItem = new List<SelectListItem>{
new SelectListItem{Text="是",Value="1"},
new SelectListItem{Text="否",Value="0",Selected=true}
};
//ViewBag.List = new SelectList(listItem, "Value", "Text", "");
ViewData["List"] = new SelectList(listItem, "Value", "Text", "");
return View();
}
 @using (Html.BeginForm("DropDownValue","Home"))
{
//只需将第一个参数写成对应的ViewData索引即可,或者对应的ViewBag索引
@Html.DropDownList("List","请选择")
<div>
<input type="submit" value="提交" />
</div>
}

--------------------------------------------------------------------------------------------------------------

那么,在视图页面的下拉列表被选择的值怎么传到Controlloer的方法进行处理呢?可以这样:

 @using (Html.BeginForm("DropDownValue","Home"))
{
@Html.DropDownList("List", ViewBag.List as SelectList, "请选择")
<div>
<input type="submit" value="提交" />
</div> }

将下拉列表置于表单当中,当表单提交时,被选中的值就被提交到控制器方法。

 public ActionResult DropDownValue(string List)
{
ViewBag.Result = List;
return View();
}

注意接受值的方法的参数名称与html标签的id保持一致性。

MVC视图中Html.DropDownList()辅助方法的使用的更多相关文章

  1. mvc的视图中显示DataTable的方法

    mvc的视图中显示DataTable的方法: 不断的循环画出table @{ ViewBag.Title = "ShowDataTable"; } @using System.Da ...

  2. Asp.net MVC4高级编程学习笔记-模型学习第五课MVC表单和HTML辅助方法20171101

    MVC表单和HTML辅助方法 一.表单的使用. 表单中的action与method特性.Action表示表单要提交往那里,因此这里就有一个URL.这个URL可以是相对或绝对地址.表单默认的method ...

  3. MVC视图中的@Html.xxx(...)

    ASP.NET MVC视图中的@Html.xxx(...)   问题 在视图页中@Html.xxx(...)是什么?如何被执行? 如下图所示: 解疑 视图页中@Html.xxx(...)涉及的内容有: ...

  4. 在mvc视图中实现rdlc报表展示(补充)

    上篇: 在mvc视图中实现rdlc报表展示 在上一遍中,由于不知道如何在aspx.cs后台中实例化abp的IxxxAppService.cs的接口,我采取的方式是在视图页中把查询出的数据存储到aspx ...

  5. 在mvc视图中实现rdlc报表展示

    需求:在view视图页面中嵌入rdlc报表,rdlc的xml为动态传入的xml字符串.本项目是基于abp框架 可能出现问题: 1.rdlc报表是由asp.net的服务器控件ReportViewer来支 ...

  6. 在Repeater中使用DropDownList的方法

    在Repeater中使用DropDownList的方法 以下代码并不完整,只记录了关键的方法 aspx代码中 假设这是一个用户管理的系统的模型,有一个下拉菜单来操作用户状态 <asp:Repea ...

  7. 【HANA系列】SAP HANA计算视图中的RANK使用方法

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA计算视图中的RA ...

  8. MVC强类型视图、强类型HTML辅助方法

    强类型视图: <table> <tr> <td>ID:</td><td><%: Model.Id %></td> & ...

  9. C#,MVC视图中把枚举转成DropdownList

    1.拓展EnumHelper public static class EnumHelper { // Get the value of the description attribute if the ...

随机推荐

  1. 继续畅通工程(kruskal prim)

    kruskal算法   #include <cstdio > #include <algorithm> using namespace std; const int MaxSi ...

  2. 平衡二叉树(AVL)java实现

    数的节点 package com.ydp.tree.AVLTree; public class Node{ private int data = 0; private Node lchild = nu ...

  3. 《A First Course in Mathematical Modeling》-chaper1-差分方程建模

    从今天开始笔者将通过这个专栏可是对“数学建模”的学习.其实对于“数学建模”自身的内涵或者意义并不需要太多的阐释,下图简洁明了的阐释了数学建模的意义. 其实数学建模本身可以看成换一种角度去解读数学,将我 ...

  4. 【行业干货】ASOS:外来快时尚品牌的入华战 - 行业干货 - 京东内部论坛 - Powered by Discuz!

    [行业干货]ASOS:外来快时尚品牌的入华战 - 行业干货 - 京东内部论坛 - Powered by Discuz! [行业干货]ASOS:外来快时尚品牌的入华战

  5. Apache-Tika解析XML文档

    通常在使用爬虫时,爬取到网上的文章都是各式各样的格式处理起来比较麻烦,这里我们使用Apache-Tika来处理XML格式的文章,如下: package com.mengyao.tika.app; im ...

  6. 关于DPM(Deformable Part Model)算法中模型结构的解释

    关于可变部件模型的描写叙述在作者[2010 PAMI]Object Detection with Discriminatively Trained Part Based Models的论文中已经有说明 ...

  7. Could not fetch https://api.github.com/repos/RobinHerbots/jquery

    使用 composer 安装YII2时, 如题所示提示, 原因是由于yii安装中, 需要有一些相关的认证[或许说是composer的认证], 如有如下提示 Could not fetch https: ...

  8. PHP ServerPush <转>

    http://www.cnblogs.com/hnrainll/archive/2013/05/07/3064874.html

  9. asp.net服务器控件防止多次提交问题

    用户可能点击多次提交按钮.这样,导致向数据库中插入了多条相同的记录. 好像这2个方法都是针对的服务器控件! //方法一:在提交时调用一段客户端的代码. function a() { document. ...

  10. 将sql数据库逆向生成PDM模型

    由于接手的一个项目是公司前期外包出去的,所以到手的只有繁杂的代码,和数据库文件.由于是个新手,我需要一个数据字典来帮助我完成一些东西,所以我就想到从sql数据库转换出一个pdm模型的数据字典. 第一步 ...