MVC05
1. 添加搜索功能
如何实现url添加查询字符串实现查询指定项目的功能?
来到MovisController,修改Index方法如下
public ActionResult Index(string queryString)
{
var movies = from m in db.Movies select m;
if(!String.IsNullOrEmpty(queryString))
{
movies = movies.Where(s => s.Title.Contains(queryString));
}
return View(movies);
}
修改完毕打开页面,在Movies页面下使用查询字符串进行关键字查询即可。
https://localhost:44366/Movies?queryString=keywords
即可筛选出标题包含关键字的项目。
2.通过页面ui进行搜索
直接到View目录下的Index进行修改即可:
<p>
@Html.ActionLink("Create New", "Create") 添加搜索功能 @using (Html.BeginForm())
{
<p>
Title:@Html.TextBox("QueryString") <br />
<input type="submit" value="Filter" />
</p>
} </p>
指定参数与请求方法:
Html.BeginForm("ActionName","ControllerName",FormMethod.method)
@using (Html.BeginForm("Index","Movies",FormMethod.Get))
{
<p>
Title:@Html.TextBox("QueryString") <br />
<input type="submit" value="Filter" />
</p>
}
通过post方式进行查找
[HttpPost]
public string Index(FormCollection fc,string queryString)
{
return "<h2>from post method+"+ queryString + "</h2>";
}
3.根据其他字段进行搜索
上述的搜索功能都是依据影片的名称进行查找,现根据其他字段进行查找
TextBox,DropdownList的第二个参数都是默认值
修改Controller Index方法如下:
public ActionResult Index(string movieGenre,string queryString)
{
var GenreList = new List<string>();
var GenreQry = from d in db.Movies
orderby d.Genre
select d.Genre;
// 添加至list并移除重复项
GenreList.AddRange(GenreQry.Distinct());
// 传递给View页面
ViewBag.movieGenre = new SelectList(GenreList);
var movies = from m in db.Movies select m;
// 先根据题目查找再根据类别查找
if(!String.IsNullOrEmpty(queryString))
{
movies = movies.Where(s => s.Title.Contains(queryString));
}
if (!String.IsNullOrEmpty(movieGenre))
{
movies = movies.Where(x => x.Genre==movieGenre);
}
return View(movies);
}
修改View如下:
<p>
@Html.ActionLink("Create New", "Create") 添加搜索功能 @using (Html.BeginForm("Index","Movies",FormMethod.Get))
{
<p>
Genre:@Html.DropDownList("movieGenre", "All")<br />
Title:@Html.TextBox("QueryString") <br />
<input type="submit" value="Filter" />
</p>
} </p>
MVC05的更多相关文章
- 快速入门系列--MVC--05行为
Action执行包含内容比较多,主要有同步/异步Action的概念和执行过程,Authorationfilter, ActionFiltor, ResultFilter, ExceptionFilte ...
- MVC-05 Model(2)
五.使用Code First数据库迁移 当Entity Framework Code First的数据模型发生异动时,默认会引发一个System.InvalidOpertaionException异常 ...
- MVC-05 Model(1)
在开发应用程序的过程中,经常需要处理许多大大小小的数据,例如,SQL Server数据库存取.连接AD(Active Directory)数据库进行验证.调用外部Web Service取得数据等.除了 ...
- 快速入门系列--MVC--01概述
虽然使用MVC已经不少年,相关技术的学习进行了多次,但是很多技术思路的理解其实都不够深入.其实就在MVC框架中有很多设计模式和设计思路的体现,例如DependencyResolver类就包含我们常见的 ...
- 快速入门系列--MVC--02路由
现在补上URL路由的学习,至于蒋老师自建的MVC小引擎和相关案例就放在论文提交后再实践咯.通过ASP.NET的路由系统,可以完成请求URL与物理文件的分离,其优点是:灵活性.可读性.SEO优化.接下来 ...
- 快速入门系列--MVC--07与HTML5移动开发的结合
现在移动互联网的盛行,跨平台并兼容不同设备的HTML5越来越盛行,很多公司都在将自己过去的非HTML5网站应用渐进式的转化为HTML5应用,使得一套代码可以兼容不同的物理终端设备和浏览器,极大的提高了 ...
随机推荐
- 方格取数(多线程dp,深搜)
https://www.luogu.org/problem/P1004 题目描述 设有N×N的方格图(N≤9),我们将其中的某些方格中填入正整数,而其他的方格中则放入数字0.如下图所示(见样例): 某 ...
- Python - 使用 PostgreSQL 数据库
基本用法 # -*- coding: utf-8 -*- # !/usr/bin/python # 需要安装下面的驱动包 import psycopg2 # 连接到一个现有的数据库,如果数据库不存在, ...
- iOS 后台任务
首先开启后台任务 使用设置后台任务触发的时机 application.setMinimumBackgroundFetchInterval(UIApplication.backgroundFetchIn ...
- EXAM-2018-7-24
EXAM-2018-7-24 未完成 [ ] G 签到水题 A J F A:英文字母有2426个 J:注意long long D:Transit Tree Path 我直接套了单源最短路的一个模板,有 ...
- built?
题目描述 There are N towns on a plane. The i-th town is located at the coordinates (xi,yi). There may be ...
- Ubuntu navicat 连接mysql:access denied for user 'root'@'localhost'
真是醉了,Ubuntu装了navicat后,准备在桌面建立图标不成,结果直接打开后连接mysql都不行,真坑,奈何远程连接就成,这就尬了,今天终于解决了 问题 我也百度了好几个方案,奈何解决不了,最后 ...
- mysql 事务处理 (转)
事务处理在各种管理系统中都有着广泛的应用,比如人员管理系统,很多同步数据库操作大都需要用到事务处理.比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如 ...
- 推送至远程仓库使用git push -u的原因
第一次把本地仓库推送至远端时,为了以后方便一定要使用 git push -u origin master [此处是把本地的master分支推送至远程的master分支]
- mysql数据库常用命令入门
查询所有数据库 show databases; 创建数据库 create database mytest001 default character set utf8; 查看数据库的默认字符集 show ...
- idea常见需求
1.给class加注释模板 /** *@ClassName ${NAME} *@Description TODO *@Author xxx *@Date ${DATE} ${TIME} *@Versi ...