Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 如何过滤特殊字符或与MVC中的搜索字符串不匹配的任何内容_Regex_Asp.net Mvc_Asp.net Mvc 4 - Fatal编程技术网

Regex 如何过滤特殊字符或与MVC中的搜索字符串不匹配的任何内容

Regex 如何过滤特殊字符或与MVC中的搜索字符串不匹配的任何内容,regex,asp.net-mvc,asp.net-mvc-4,Regex,Asp.net Mvc,Asp.net Mvc 4,我想过滤输入的搜索字符串,使其不接受除匹配字符串以外的任何内容进行搜索 这是我的控制器代码: public ActionResult SearchProduct(string SearchString) { FlipcartDBContextEntities db = new FlipcartDBContextEntities(); if(ModelState.IsValid) {

我想过滤输入的搜索字符串,使其不接受除匹配字符串以外的任何内容进行搜索

这是我的控制器代码:

 public ActionResult SearchProduct(string SearchString)
            {

            FlipcartDBContextEntities db = new FlipcartDBContextEntities();


            if(ModelState.IsValid)
            {
                // if ModelState is true

                string noResult = "Search Result Not Found";
                var products = from p in db.Products select p;

                if (!String.IsNullOrEmpty((SearchString).Trim()))
                {

                    products = products.Where(s => s.ProductName.Contains(SearchString));
                    return View(products.ToList());

                }

                else
                {
                    ViewBag.Message = noResult;
                    return View(new List<Product>());
                }

            }
            else
            {
                ModelState.AddModelError("", "Search not successful");
            }

            return View();


        }
未找到的搜索结果仅显示空条目..但我希望它显示与搜索字符串不匹配的任何其他字符

我该怎么做

试试这个:

 if(ModelState.IsValid)
 {
     // if ModelState is true
     string noResult = "Search Result Not Found";

     //ternary expression to return a new list if Search string is null or empty
     var products = string.IsNullOrEmpty(SearchString.Trim()) 
                    ? new List<Product>() 
                    : db.Products
                        .Where(s => s.ProductName.Contains(SearchString));

     //set viewbag message if list is empty
     if(!products.Any())
     {
         ViewBag.Message = noResult;
     }
     return View(products.ToList());

 }
 else
 {
     ModelState.AddModelError("", "Search not successful");
 }