【发布时间】:2016-05-04 11:28:10
【问题描述】:
我在简单的演示中工作以在 asp.net mvc 中进行搜索 一切正常,除了包含 + 字符的 url 阻止该功能正常工作
网址看起来像这样 http://localhost:3189/products/Index?term=+a&name=Search
当我手动编辑它时,它工作正常 http://localhost:3189/products/Index?term=a&name=Search
这是我的模特
public class product
{
public int id { get; set; }
public string productName { get; set; }
public string productModel { get; set; }
public int productPrice { get; set; }
public int ModelNum { get; set; }
}
我只是使用脚手架生成带有视图的控制器
之后这是我在控制器上的编辑
public ActionResult Index(string term)
{
List<product> products = (from pr in db.products
where pr.productName.Contains(term) || pr.productName == null
select pr).ToList();
if (products.Count <= 0 || products == null)
{
//select all
return View(db.products);
}
//result of search
return View(products);
}
这是我在索引视图中的视图代码
<form>
<input type="search" name="term" value=" " id="term" placeholder="enter your products"/>
<input type="submit" name="name" value="Search" />
</form>
我真的不知道为什么会发生这种行为,以及当我手动删除它时添加的 + 符号是从哪里添加的,一切正常 网址看起来像这样 http://localhost:3189/products/Index?term=+a&name=Search
当我手动编辑它时,它工作正常 http://localhost:3189/products/Index?term=a&name=Search
这不是 adublicte 我只将一个值传递给 url,另一个问题是传递多个值
【问题讨论】:
-
在您的代码中创建搜索网址的位置是什么?
-
这是我在索引视图中的视图代码 我也添加到主题中,谢谢
-
如果将搜索字段更改为文本字段会怎样?
-
这不是 adublicte 我只将一个值传递给 url 和另一个传递多个值的问题以及在值之前添加的加号它也会破坏它@RobertMoskal
-
您的输入必须有一个额外的前导空格。
标签: c# asp.net-mvc parameter-passing query-string