MVC3中的Ajax调用无法正常工作

时间:2015-11-02 21:35:25

标签: asp.net-mvc

我无法通过下面的代码段进行Ajax调用。如果我删除了AJAX调用 - 它完全正常,只有问题是表单被发回服务器。 请让我知道我在实现Ajax调用时遗漏或做错了什么......

  

错误:   无法找到该资源。   404页面不存在。   请求的URL:/ Home / GetEmp

控制器   - 当用户点击Employee以获取所有员工时,这是我第一次呼叫的常用方法。 - 当用户输入一些criteira时...再次使用用户输入的搜索条件调用此方法。 - 如果我删除了AJAX调用 - 它完全正常,只有问题是表单被发回服务器。

[HttpGet]
public ActionResult GetEmp(string strSearchCriteria = null)
{
    obj = new EmpRepository();
    var model = obj.GetAllEmployees()
        .Where(e => strSearchCriteria == null || e.EmpName.StartsWith(strSearchCriteria))
        .Select(e => new EMP
        {
            EmpID = e.EmpID,
            EmpName = e.EmpName
        });
    if (Request.IsAjaxRequest())
    {
        return PartialView("EmpPartial", model);
    }
    return View(model);
}

GetEmp查看 - 这是我的ajax电话

@using (Ajax.BeginForm("GetEmp", "Home", new AjaxOptions { HttpMethod = "get", InsertionMode = InsertionMode.Replace, UpdateTargetId = "UpdateEmpList" }))
{
    <input type="text" name="strSearchCriteria"/>
    <input type="submit" value="Search by name" />
}

- 这是我打电话的局部视图(详情如下)    @ Html.Partial(&#34; EmpPartial&#34;,Model)

EmpPartial视图 - 部分观点。

@model IEnumerable<abc.Models.EMP>
<div id="UpdateEmpList">
    @foreach (var item in Model)
    {
        <tr>
            <td>
                @Html.DisplayFor(modelItem => item.EmpName)
            </td>
            <td>
                @Html.ActionLink("Edit", "Edit", new { id = item.EmpID }) |
                @Html.ActionLink("Details", "Details", new { id = item.EmpID }) |
                @Html.ActionLink("Delete", "Delete", new { id = item.EmpID })
            </td>
        </tr>
    }
</div>

0 个答案:

没有答案