我们先在控制器中准备好一个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. openSession和getCurrentSession的比较

    在比较openSession和getCurrentSession这两个方法之前,我们先认识一下这两个方法. 在进行配置信息管理时,我们一般进行一下简单步骤: Configuration cfg = n ...

  2. Fire Net(深搜 和一前不一样的深搜)

    /* http://acm.tzc.edu.cn/acmhome/problemdetail.do?&method=showdetail&id=1162 本题妙处: 用一个数对行取商是 ...

  3. How many - HDU 2609 (trie+最小表示)

    题目大意:有 N 个手链,每个手链的最大长度不超过100,求出来最多有多少个不同的手链.   分析:因为手链是可以转动的,所以只要两个手链通过转动达到相同,那么也被认为是一种手链,然而如果每次都循环比 ...

  4. continuous integration and continuous deployment in DW/BI

    deployment methodIn Redshift1, Deploy process: Drop and Refresh the view, Drop table, Create an empt ...

  5. 用canvas把图片变成黑白相片

    <!--这里没有代码--> 原来是把灰度系数分别 乘以 每个像素点的三个像素色(R,G,B)的值,然后得到的三个值加起来,再把得到的值赋值进去给每个R ,G,B. 微软的MSDN上提到的是 ...

  6. 使用Dreamwaver cc中的SVN功能,用于传输BAE和SAE中的文件

    前沿: 假期使用BAE和SAE开发应用,两个服务器都需要通过SVN提交代码,因为平时大多使用Dreamwaver,所以查了查资料,通过Subversion方便了开发. 因为网上的资料都不全,所以根据自 ...

  7. [PWA] 18. Clean the photo cache

    We cannot let photo always keep caching new data without clean the old data. If message is not displ ...

  8. [转] JavaScript中的字符串操作

    一.概述    字符串在JavaScript中几乎无处不在,在你处理用户的输入数据的时候,在读取或设置DOM对象的属性时,在操作cookie时,当然还有更 多....JavaScript的核心部分提供 ...

  9. ASP.NET过滤器、URL重写

    过滤器可以对指定的URL访问进行拦截,并执行过滤器的方法,根据实际应用情况,在过滤器中修改请求的代码.判断会话信息,也可以做权限控制. 一:编写过滤器,实现URL重写并配置过滤 编写过滤器,就是编写一 ...

  10. Dij的堆优化

    #include<algorithm> #include<iostream> #include<cstdio> #include<cstring> #i ...