zoukankan      html  css  js  c++  java
  • 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>
  • 相关阅读:
    编程珠玑:单词频率最高选取
    编程之美:求二进制中1的个数
    编程珠玑:用后缀数组寻找最长重复字符串
    编程珠玑:变位词程序的实现
    编程珠玑:位图法排序
    Hadoop 2.0 代码:Client端代码简要分析
    编程之美:求数组的子数组之和的最大值
    经典正则表达式
    C#下实现动态系统托盘图标
    HTTPBrowserCapabilities在asp.net中显示浏览器属性
  • 原文地址:https://www.cnblogs.com/Tanqurey/p/12240035.html
Copyright © 2011-2022 走看看