Ajax表单未提交给控制器操作。这是代码
@using (Ajax.BeginForm("searchCustomers", "Transaction", new { phoneNumber = Model.CustomerMobile }, new AjaxOptions
{
UpdateTargetId = "custList",
InsertionMode = InsertionMode.Replace
}))
{
<div class="col-md-6">
<div class="form-group">
<label>Customer Mobile No:</label>
@Html.TextBoxFor(x => x.CustomerMobile, new { @class = "form-control", id = "custMobile" })
</div>
@*<div class="form-group">
<label>Customer Name</label>
@Html.TextBoxFor(x => x.CustomerName, new { @class = "form-control", id = "custName" })
</div>*@
<input type="submit" class="btn btn-default" value="Get Customer Details" >
</div>
}
这是控制器动作
public ActionResult searchCustomers(string phoneNumber)
{
if (phoneNumber==null)
{
return PartialView(new List<Models.Customer>());
}
var c = Database.Session.Query<Models.Customer>()
.Where(x => x.MobileNumber.Like(phoneNumber) )
.ToList();
return PartialView(c);
}
但是ajax表单没有提交。我已将JavaScript文件添加为捆绑包。我是另一个@Html.Action("searchCustomers", new { phoneNumber = Model.CustomerMobile })
,这个叫控制器动作。
答案 0 :(得分:1)
代码中的一切都很好。 Ajax.Beginform 需要两个javascript文件才能工作。
检查您是否已将这些文件包含在视图中。或者,如果您的视图中有任何LayOut,如果这些javascript文件包含在您的LayOut中。