MVC视图中下拉框的使用

首先要在controller 中将选项设置成 selecList对象,并赋值给viewBag动态对象。

public ActionResult Index(string movieGenre,string searchString)
{
var GenreLst = new List<string>();
var GenreQry = from d in db.Movies
orderby d.Genre
select d.Genre;
GenreLst.AddRange(GenreQry.Distinct());
ViewBag.movieGenre = new SelectList(GenreLst);

var movies = from m in db.Movies
select m;
if (!string.IsNullOrWhiteSpace(searchString))
{
movies = movies.Where(s => s.Title.Contains(searchString));

}

if (!string.IsNullOrWhiteSpace(movieGenre))
{
movies = movies.Where(x => x.Genre == movieGenre);

}
return View(movies.ToList());
}

在View中有两种用法

1、@Html.DropDownList("movieGenre", "All")   name=movieGenre,  自动读取viewBag.movieGenre 数据,第二个参数下拉框是第一行显示的数据。

2、 @Html.DropDownList("movieGenre", ViewBag.movieGenre as SelectList,"全部", new { @class="form-control"})

@using (Html.BeginForm("Index", "Movie", FormMethod.Get, htmlAttributes: new { @class = "form-inline", role = "form" }))
{
<div class="form-group">
<label class="control-label" for="movieGenre">类别:</label>
</div>
<div class="form-group">
@Html.DropDownList("movieGenre", ViewBag.movieGenre as SelectList,"全部", new { @class="form-control"})
</div>
<div class="form-group">
<label for="searchString" class="control-label">&nbsp;&nbsp;片名:</label>
</div>
<div class="form-group">
@Html.TextBox("searchString", "", htmlAttributes: new { @class = "form-control", placeholder = "请输入片名" })
</div>
<input type="submit" value="查找" class="btn btn-primary" />
}

截图如下:

时间: 2024-10-27 13:56:20

MVC视图中下拉框的使用的相关文章

项目中下拉框链接问题

项目中有一个需求:用户开户模板列表的操作按钮中添加设为默认模板按钮,设置完成后,该模板将作为开户时的默认模板,当开户页面加载的时候显示该模板的信息,否则显示请选择模板,下拉框选中哪个则显示哪个模板的信息. HTML下拉框链接代码: <select name="user_templets_id" onchange="javascript:window.open(this.options[this.options.selectedIndex].value,'_self')&

mvc中下拉框如何绑定枚举值

一般的BS程序开发中,习惯了使用asp.net控件在后台直接绑定数据,可是最近遇到了一个问题,在mvc中,如何在前台绑定后台数据呢? 以前,我们都是直接在前台页面列举数据如下: <SOA:HBDropDownList ID="ddlReadState" runat="server" Width="200px"> <asp:ListItem Text="请选择" Value="-1">

MVC 实现下拉框

MVC动态实现下拉框的方式有很多种,但是方便快捷的却是很少,现在记录一种常用的下拉框实现方式: 1.先看看视图代码是怎么写的 <div class="form-group col-xs-12 col-sm-8 col-md-8"> <label class="control-label">这是一个下拉框:</label> @Html.DropDownList("selectRoleId", ViewData[&

asp.net mvc中 下拉框联动效果 添加方法

首页查询第一级菜单的所有集合List,取到第一级的第一个下标,根据第一个下标查询第二级集合. 这样在页面就显示了 两个下拉select菜单,默认是从数据库查询的是第一个. 根据下拉框选择相应的第二级数据,在页面上面需要写一个ajax提交方法, $(function () { $('#sltCampus').on('change', function() { $.ajax({ type: "POST", url: '/Member/GetRestaurant', data: { camp

SAP ABAP编程 DIALOG屏幕中下拉框

在屏幕程序中,我们经常需要下拉框限制用户输入,一下是方法: 1.在Dialog的屏幕上选用inputbox控件,然后选择这个控件的dropdown属性为"Listbox",如图. 2. 在屏幕的flowlogic里面中的BPO中添加以下语句(例句): PROCESS BEFORE OUTPUT. MODULE listbox_0100."下拉选项 3. 双击listbox_0100来创建该module,输入以下代码(示例代码): MODULE listbox_0100 OUT

关于WebDriver中下拉框选项操作 ---- &gt;&gt;Select类的使用:

在UI测试的过程中,我们经常会遇到对下拉框的处理, 笔者在日常的维护中, 对下拉框的处理的太多, 各种好定位的不好定位的, 这里可以分享两种定位方法: 1.日常定位的方法每个select下拉框都是一个list,在取值时,取到对应list[x][y] ---- >>找到对应要选取得的值; 2.通过封装后的select类,可以直接快速定位,不过此种方式存在一定的局限性, 定位的元素必须是可读固定,如果一个元素的属性是auto,或者不可读,就不能再根据某个固有属性来定位了, 不过这种方式也可以满足我

关于MVC视图下拉菜单绑定与取值的问题

绑定视图中dropdownlist: 视图中的代码: @Html.DropDownList("select1") 此处的slect1也就是页面上的<select></select>的name和id的属性值 所以在控制器中获取选中的值 Request.Form["select1"] 思路就是这样的,不明白的或有问题的可以留言说明.....

.net mvc DropDownList 下拉框_无限级分类

1.数据库设计: id:int name:string pid:int  //父级id(顶级菜单默认为0) 2.Controller: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using MvcTest.Models; namespace MvcTest.Controllers { [ValidateInput(false)

smarty中下拉框的运用

PHP   $this->ci_smarty->assign('templet_ids', array( '1', '2', '3' ));        $this->ci_smarty->assign('templet_types', array(lang('templet_type_one'), lang('templet_type_two'), lang('templet_type_three')));        $this->ci_smarty->assi