搜索后更改项目时遇到问题。
我查看了类似的线程,但没有找到解决方案:(
看起来页面第一次加载良好 - 第一次加载整个 Index.cshtml 页面,其中包含所选类别中的书籍集合。
页面上有一个搜索引擎 - 在搜索“manual”之后 - ajax 正确地将元素替换为名称中包含“manual”的元素。
然后,当我第二次在搜索引擎中输入内容(例如“练习”)时,页面内容不再改变。
我尝试调试,发现新项目已从数据库正确下载——条件“if (Request.IsAjaxRequest ())”为真,项目被传递到部分视图——“foreach”循环通过它们。不幸的是,在_Partial 之后,什么也没有发生。
我找不到错误 - 最奇怪的是第一个 ajax 调用工作正常 - 只有第二个(和后续)不好。
目录控制器.cs
public ActionResult Index(string categoryName = null, string searchQuery = null)
{
if (categoryName == null)
categoryName = (db.Categories.Find(1)).Name;
var category = db.Categories.Include("Books").Where(x => x.Name.ToLower() == categoryName).Single();
var books = category.Books.Where(x => (searchQuery == null || x.Title.ToLower().Contains(searchQuery.ToLower()) || x.SubTitle.ToLower().Contains(searchQuery.ToLower()) || x.Level.ToLower().Contains(searchQuery.ToLower())) && !x.Inaccessible);
if (Request.IsAjaxRequest())
return PartialView("_PartialBooksList", books);
else
return View(books);
}
索引.cshtml
<form class="o-search-form" id="search-form" method="get" data-ajax="true" data-ajax-target="#booksList">
<input class="o-search-input" id="search-filter" type="search" name="searchQuery" data-autocomplete-source="@Url.Action("SearchTips")" placeholder="Search" />
<input class="o-search-submit" type="submit" value="" />
</form>
<div class="row" id="booksList">
@Html.Partial("_PartialBooksList")
</div>
哈士奇WWW
胡子哥哥
相关分类