【发布时间】:2014-03-13 21:42:15
【问题描述】:
searchString 来自用户输入,一个文本框。
当我输入“iasi”或“iaşi”之类的内容时,如果数据库中的值为“Iaşi”,它应该返回结果,但它不返回任何内容。
请注意,它适用于“ă”、“â”等数据库字符。
数据库和列具有“Latin1_General_CI_AI”排序规则,列类型为 nvarchar。
HTML Meta Content-Type 标记为“text/html; charset=UTF-8”。
查看:
@using (Html.BeginForm())
{
<p>
@Html.TextBox("SearchString")
<input type="submit" value="Search" />
</p>
}
控制器:
public ActionResult Index(string searchString)
{
var db = new dbEntities();
var query = from i in db.Table1
select i;
if (!String.IsNullOrEmpty(searchString))
{
query = query.Where(s => s.Column1.Contains(searchString)
|| s.Column2.Contains(searchString));
return View(query);
}
【问题讨论】:
-
出于调试目的,调用 query.ToList 并查看内容。这样您就可以看到查询中的字符串,并且可以将它们与您的 searchString 进行比较
标签: c# sql-server linq asp.net-mvc-4 linq-to-sql