gpt4 book ai didi

jquery - 在 Ajax.BeginForm 中传递 UpdateTargetId 而不是替换目标

转载 作者:搜寻专家 更新时间:2023-10-31 08:05:45 26 4
gpt4 key购买 nike

在 Ajax.BeginForm 中,即使我已经指定了我的部分 View 的 targetId,它也会替换完整 View 。我错过了什么吗?

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>

SearchProducts - Controller 操作

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

最佳答案

确保您的页面/布局中包含 jquery.unobtrusive-ajax.js

<script src="~/Scripts/jquery.unobtrusive-ajax.js"></script>

此文件使您的表单 ajaxified。

如果您没有包含此文件,您的表单将是普通表单。单击提交按钮将进行正常的表单提交,这可能是您看到整个页面的原因。

关于jquery - 在 Ajax.BeginForm 中传递 UpdateTargetId 而不是替换目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39212624/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com