Я работаю в простой демонстрационной версии, чтобы сделать asearch в asp.net mvc все работает нормально, за исключением того, что URL-адрес, включая символ +, который предотвращает работу функцииasp.net mvc querystring paramater добавить некоторый символ, который не позволяет функциям работать
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>
и я действительно не знал, почему это поведение происходит и откуда добавляются знаки +, когда я удаляю его вручную, все работает норамально URL-адрес выглядит следующим образом http://localhost:3189/products/Index?term=+a&name=Search
, когда я редактировать его вручную, он отлично работает http://localhost:3189/products/Index?term=a&name=Search
это не adublicte я передать только одно значение к URL и другой вопрос для передачи многодискового значения
Где в вашем коде создается поисковый url? –
это мой взгляд код в индексном
Я тоже добавил к теме, спасибо – user4833581Что произойдет, если вы измените поле поиска на текстовое поле? –