通过 Ajax 在 ASP.NET MVC 中发布搜索表单会导致 500(内部服务器错误)
Posting a search form via Ajax in ASP.NET MVC results in 500 (Internal Server Error)
所以我获得此设置的方式涉及控制器文件夹中的 ClientController。在视图文件夹中,我有 SearchClient.cshtml 和 _SearchClients.cshtml。我正在使用 Ajax 并按照此 link 中的教程进行操作:http://techfunda.com/howto/291/search-database-using-ajax
让我的搜索工作。
我的控制器中的方法如下所示:-
public ActionResult SearchClient()
{
return View();
}
public PartialViewResult _SearchClients(string searchString = "")
{
var clients = repository.Get(c => c.isDeleted == false);
clients = clients.Where(s =>
(s.FirstName.Contains(searchString)) ||
(s.MiddleName.Contains(searchString)) ||
(s.LastName.Contains(searchString))
).ToList();
return PartialView(clients);
}
最后,这是局部视图:-
@model IEnumerable<Entities.Client>
@foreach (var item in Model)
{
<tr>
<td>@item.FirstName</td>
<td>@item.MiddleName</td>
<td>@item.LastName</td>
<td>@item.Phone</td>
<td>@item.Email</td>
<td>@item.AgencyID</td>
<td>@item.StreetAddress</td>
<td>@item.City</td>
<td>@item.PostalCode</td>
<td>@item.Province</td>
</tr>
}
我认为 MidddleName 为空,必须将其从搜索中删除。同时,我必须检查字符串是否为 null 或为空。这是控制器操作。
public PartialViewResult _SearchClients(string searchString = "")
{
if (!String.IsNullOrEmpty(searchString))
{
var searchedClient = clients.Where(s =>
(s.FirstName.Contains(searchString)) ||
(s.LastName.Contains(searchString))
).ToList();
return PartialView(searchedClient);
}
return PartialView(clients);
}
希望这对某人有所帮助。
所以我获得此设置的方式涉及控制器文件夹中的 ClientController。在视图文件夹中,我有 SearchClient.cshtml 和 _SearchClients.cshtml。我正在使用 Ajax 并按照此 link 中的教程进行操作:http://techfunda.com/howto/291/search-database-using-ajax
让我的搜索工作。
我的控制器中的方法如下所示:-
public ActionResult SearchClient()
{
return View();
}
public PartialViewResult _SearchClients(string searchString = "")
{
var clients = repository.Get(c => c.isDeleted == false);
clients = clients.Where(s =>
(s.FirstName.Contains(searchString)) ||
(s.MiddleName.Contains(searchString)) ||
(s.LastName.Contains(searchString))
).ToList();
return PartialView(clients);
}
最后,这是局部视图:-
@model IEnumerable<Entities.Client>
@foreach (var item in Model)
{
<tr>
<td>@item.FirstName</td>
<td>@item.MiddleName</td>
<td>@item.LastName</td>
<td>@item.Phone</td>
<td>@item.Email</td>
<td>@item.AgencyID</td>
<td>@item.StreetAddress</td>
<td>@item.City</td>
<td>@item.PostalCode</td>
<td>@item.Province</td>
</tr>
}
我认为 MidddleName 为空,必须将其从搜索中删除。同时,我必须检查字符串是否为 null 或为空。这是控制器操作。
public PartialViewResult _SearchClients(string searchString = "")
{
if (!String.IsNullOrEmpty(searchString))
{
var searchedClient = clients.Where(s =>
(s.FirstName.Contains(searchString)) ||
(s.LastName.Contains(searchString))
).ToList();
return PartialView(searchedClient);
}
return PartialView(clients);
}
希望这对某人有所帮助。