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应用,使得一套代码可以兼容不同的物理终端设备和浏览器,极大的提高了 ...
随机推荐
- Jmeter连接Mysql出现Cannot create PoolableConnectionFactory (Could not create connection to database server.)错误
0 环境 系统环境:win10 1 正文 一般是数据库的驱动包版本不匹配(我是直接放在jmeter/lib下的) 当然有时候需要添加?useUnicode=true&characterEnco ...
- EMD——EEMD——CEEMD语音增强算法基础
首先,HHT中用到的EMD详细介绍:https://wenku.baidu.com/view/3bba7029b4daa58da0114a9a.html 本文具体参考 https://zhuanlan ...
- hibernate的乐观锁和悲观锁+事务
hibernate实现数据库操作的乐观锁和悲观锁参看:https://blog.csdn.net/chang_ge/article/details/79695813https://www.cnblog ...
- BCM93349DCM 手动升级 Fireware 指导
PC:Personal Computer(这里用的Win7) CM:Cable MODEM(芯片:BCM93349DCM) 一.预置条件 1.PC上已安装TFTP Server,比如tftpd32: ...
- 常用面试sql(1)
1:update qr_user_info set score =score+50 where level=3 2:delete from qr_user_info where level is nu ...
- python的可迭代对象
今日所得 迭代器 可迭代对象 迭代器对象 for循环内部原理 生成器 生成器表达式 内会函数 面对过程编程 迭代器 迭代就是指更新换代的过程,要重复进行,而且每次的迭代都必须基于上一次的结果. 我们使 ...
- 使用记事本编写html代码并运行
在使用记事本编写html代码,运行时需要将其.txt后缀改为.html双击运行即可. 有时电脑会默认的隐藏其后缀,这时需要修改一下. win7系统修改方法: 双击 我的电脑: 选择 组织: 选择 ...
- 吴裕雄--天生自然 R语言开发学习:广义线性模型(续一)
#----------------------------------------------# # R in Action (2nd ed): Chapter 13 # # Generalized ...
- 是谁收购了被谷歌私藏7年之久的Zagat?
国内餐饮行业的风口似乎总是执着于"价格"上,无论是天天搞特价的外卖,还是优惠不停歇的团购网站,都将"价格"当做了竞争的杀手锏.即使是网红奶茶.甜品之类的,也是将 ...
- 【XP系统下载U盘装系统】用电脑店超级U盘装XP系统详细图文教程
现在U盘装系统已经越来越流行了,不仅方便而且简单,由于U盘启动盘用的制作工具不同,其中比较流行的有老毛桃.电脑店.大白菜.一键U盘装系统等等,因此安装过程中也有不尽相同的,今天就和大家分享下利用电脑店 ...