在ASP.NET MVC中通过Ajax发布搜索表单将导致500(内部服务器错误)

在ASP.NET MVC中通过Ajax发布搜索表单将导致500(内部服务器错误),asp.net,ajax,asp.net-mvc,asp.net-mvc-partialview,Asp.net,Ajax,Asp.net Mvc,Asp.net Mvc Partialview,因此,我获得此设置的方式涉及控制器文件夹中的ClientController。在视图文件夹中,我有SearchClient.cshtml和_SearchClients.cshtml。我正在使用Ajax并遵循此链接中的教程:http://techfunda.com/howto/291/search-database-using-ajax让我的搜索开始工作 以下是我的控制器中的方法的外观:- public ActionResult SearchClient() { r

因此,我获得此设置的方式涉及控制器文件夹中的ClientController。在视图文件夹中,我有SearchClient.cshtml和_SearchClients.cshtml。我正在使用Ajax并遵循此链接中的教程:
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>
        }
@model IEnumerable
@foreach(模型中的var项目)
{
@item.FirstName
@item.MiddleName
@item.LastName
@项目.电话
@邮件
@item.AgencyID
@item.StreetAddress
@项目.城市
@项目1.PostalCode
@项目.省
}

我认为middleName为空,必须将其从搜索中删除。同时,我必须检查字符串是空的还是空的。这是控制器的动作

    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);
    }

希望这对某人有所帮助。

500(内部服务器错误)
表示您的服务器正在引发异常。使用浏览器工具(“网络”选项卡)检查将提供错误详细信息的响应。我进入“网络”选项卡,但不知道我实际上可以单击链接。当我这样做时,它向我显示了黄色的错误屏幕,其中
对象引用未设置为对象的实例
,它出现在这一行
(s.FirstName.Contains(searchString))|
您需要调试代码!(在你的控制器方法和部分视图中设置断点并逐步执行)@StephenMuecke当我试图解决这个问题时,你为什么要给我一个否决票,这不是一个相关的问题吗?就目前而言,这个问题无法回答,因此对其他任何人都没有用处。使用相关信息编辑它,我将删除它(但如果您只是说对象引用未设置为对象的实例,我将复制它)