私はここにいるのは初めてで、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」のようになります。なぜその+マークがあるのか 誰にも分かりますか?? それが私がここで抱えている問題だと思います。