我无法通过下面的代码段进行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>