Abh*_*h V 4 html ajax asp.net-mvc jquery asp.net-web-api
即使在Ajax.BeginForm中,我指定了targetId(这是我的局部视图),它仍在替换完整视图。我想念什么吗?
ProductList.cshtml
<div class="form-style-1" style="float:left">
@using (Ajax.BeginForm("SearchProducts", "Product", new AjaxOptions()
{
HttpMethod="POST",
InsertionMode = System.Web.Mvc.Ajax.InsertionMode.Replace,
UpdateTargetId = "product-list-container"
}))
{
<form>
<input name="SearchText" id="SearchText" class="field-divided" style="width: 300px;" type="text" />
<input type="submit" value="Search" class="myButton" />
</form>
}
</div>@Html.Partial("ListPartialView", Model)
ListPartialView.cshtml -
<div id="product-list-container">
@foreach (var product in Model)
{
<div class="product_box margin_r40">
<div class="thumb_wrapper"><a><img src="@Url.Content(@product.ImagePath)" alt="image 1" /></a></div>
<h3>@product.ProductName</h3>
<p>@product.Description</p>
</div>
}
<div class="button_01"><a href="#">View All</a></div>
<div class="cleaner"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
SearchProducts-控制器动作
[HttpPost]
public ActionResult SearchProducts()
{
var searchTxt = Request.Form["SearchText"];
IEnumerable<Product> searchedProducts = (from p in dal.Products
where p.ProductName.Contains(searchTxt) ||
p.Description.Contains(searchTxt)
select p).ToList();
return PartialView("ListPartialView", searchedProducts);
}
Run Code Online (Sandbox Code Playgroud)
确保jquery.unobtrusive-ajax.js页面/布局中包含。
<script src="~/Scripts/jquery.unobtrusive-ajax.js"></script>
Run Code Online (Sandbox Code Playgroud)
此文件使您的表单被取消。
如果您不包括此文件,则您的表格将是普通表格。单击提交按钮将执行常规表单提交,这可能是导致您查看整个页面的原因。
| 归档时间: |
|
| 查看次数: |
3959 次 |
| 最近记录: |