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的更多相关文章

  1. 快速入门系列--MVC--05行为

    Action执行包含内容比较多,主要有同步/异步Action的概念和执行过程,Authorationfilter, ActionFiltor, ResultFilter, ExceptionFilte ...

  2. MVC-05 Model(2)

    五.使用Code First数据库迁移 当Entity Framework Code First的数据模型发生异动时,默认会引发一个System.InvalidOpertaionException异常 ...

  3. MVC-05 Model(1)

    在开发应用程序的过程中,经常需要处理许多大大小小的数据,例如,SQL Server数据库存取.连接AD(Active Directory)数据库进行验证.调用外部Web Service取得数据等.除了 ...

  4. 快速入门系列--MVC--01概述

    虽然使用MVC已经不少年,相关技术的学习进行了多次,但是很多技术思路的理解其实都不够深入.其实就在MVC框架中有很多设计模式和设计思路的体现,例如DependencyResolver类就包含我们常见的 ...

  5. 快速入门系列--MVC--02路由

    现在补上URL路由的学习,至于蒋老师自建的MVC小引擎和相关案例就放在论文提交后再实践咯.通过ASP.NET的路由系统,可以完成请求URL与物理文件的分离,其优点是:灵活性.可读性.SEO优化.接下来 ...

  6. 快速入门系列--MVC--07与HTML5移动开发的结合

    现在移动互联网的盛行,跨平台并兼容不同设备的HTML5越来越盛行,很多公司都在将自己过去的非HTML5网站应用渐进式的转化为HTML5应用,使得一套代码可以兼容不同的物理终端设备和浏览器,极大的提高了 ...

随机推荐

  1. EMD——EEMD——CEEMD语音增强算法基础

    首先,HHT中用到的EMD详细介绍:https://wenku.baidu.com/view/3bba7029b4daa58da0114a9a.html 本文具体参考 https://zhuanlan ...

  2. [LC] 362. Design Hit Counter

    Design a hit counter which counts the number of hits received in the past 5 minutes. Each function a ...

  3. Jsp入门EL表达式_学习笔记

    1.EL表达式 [1] 简介 > JSP表达式 <%= %> 用于向页面中输出一个对象. > 到JSP2.0时,在我们的页面中不允许出现 JSP表达式和 脚本片段. > ...

  4. Qt QString与string的转换

    QString --> string QString.toStdString();   string --> QString QString::fromStdString(string);

  5. [LC] 104. Maximum Depth of Binary Tree

    Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the long ...

  6. MOOC(1)-使用pycharm新建Django项目、开发post接口

    https://www.cnblogs.com/liqu/p/9308966.html 1.安装Django的两种方式: > 1) pip install django 2)下载离线安装包,进入 ...

  7. 转:zabbix 2.4.4 更换 logo

    zabbix 2.4.4 更换 logo 想把 zabbix 的 logo 改为自己公司的. 把更改过程做一下记录 先找到修改文件的目录 zabbix 版本 2.4.4 操作系统 linux 目录定位 ...

  8. python 同步与异步的性能区别及实例

    同步与异步的性能区别  1. #coding:utf-8 import gevent def task(pid): """ Some non-deterministic ...

  9. kNN算法 Demo

    项目链接: https://github.com/WES6/kNN

  10. 图解教你如何使用ANT打包java程序

    1:在eclipse中建立如下的工程 值得注意的就是build.xml文件(这个是重点后面会提到) ,其他HelloWorld中的就是一句简单的输出语句 2: 使用build打包(右键然后选择运行), ...