我是新来的,我对 MVC 4 中的一段搜索代码有疑问。我有这段代码:
public ActionResult Index(string searchTerm = null)
{
var model = entities.Users
.Where( m => searchTerm == null || m.SureName.Contains(searchTerm))
.Select(m => new UserViewModel
{
Name = m.Name,
SureName = m.SureName,
Department = m.Department,
Mail = m.Mail
});
}
索引.cshtml
<form method="get">
<input type="search" name="searchTerm " />
<input type="submit" value="Search ..." />
</form>
@foreach (var item in Model)
{
<div>
<h4>@item.Name, @item.SureName</h4>
<div>@item.Department, @item.Mail</div>
</div>
}
当我运行它时,它一直在工作,直到我想搜索任何东西。问题在于路由。因为如果我手动输入 ":XXXX/?searchTerm=Luk" 一切正常。但是当我在页面上执行相同操作时,URL 看起来像这样“:XXXX/?searchTerm+=Luk”。有谁知道,为什么有那个 + 标记?我认为这就是我在这里遇到的问题。