C# 从jquery渲染部分视图不工作
我在使用jquery渲染局部视图时遇到一些问题。即使有人多次询问(),我也没有找到适合我的解决方案: 我的看法是: 我的控制器的索引操作:C# 从jquery渲染部分视图不工作,c#,jquery,model-view-controller,asynchronous,partial-views,C#,Jquery,Model View Controller,Asynchronous,Partial Views,我在使用jquery渲染局部视图时遇到一些问题。即使有人多次询问(),我也没有找到适合我的解决方案: 我的看法是: 我的控制器的索引操作: public ActionResult Index(string searchTerm = null) { var model = _db.Restaurants .OrderByDescending(r => r.RestaurantReview
public ActionResult Index(string searchTerm = null)
{
var model =
_db.Restaurants
.OrderByDescending(r => r.RestaurantReviews.Average(a => a.Rating))
.Where(r => searchTerm == null || r.Name.StartsWith(searchTerm))
.Select(r => new RestaurantListViewModel
{
Id = r.Id,
Name = r.Name,
City = r.City,
Country = r.Country,
CountOfReviews = r.RestaurantReviews.Count()
}
)
.Take(10);
if (Request.IsAjaxRequest())
{
return PartialView("_Restaurants", model);
}
return View(model);
}
我的问题是,当我按下搜索按钮时,什么也没有发生。我添加了一个测试警报,如:
$.ajax(options).done(function (data) {
var $target = $($form.attr("data-otf-target"));
alert('test');
$target.replaceWith(data);
});
当我点击搜索按钮时会显示警报,但在网站上什么也没发生。有人知道我的问题是什么吗?你的目标是
#restaurantlist
,而div id实际上是restaurantlist
。大写字母“L”。浏览器控制台中有错误吗?没有错误,只是警告:此页上的代码禁用了反向缓存和正向缓存。有关详细信息,请参阅:
$(function () {
var ajaxFormSubmit = function () {
var $form = $(this);
var options = {
url: $form.attr("action"),
type: $form.attr("method"),
data: $form.serialize()
};
$.ajax(options).done(function (data) {
var $target = $($form.attr("data-otf-target"));
$target.replaceWith(data);
});
return false;
};
$("form[data-otf-ajax='true']").submit(ajaxFormSubmit);
});
public ActionResult Index(string searchTerm = null)
{
var model =
_db.Restaurants
.OrderByDescending(r => r.RestaurantReviews.Average(a => a.Rating))
.Where(r => searchTerm == null || r.Name.StartsWith(searchTerm))
.Select(r => new RestaurantListViewModel
{
Id = r.Id,
Name = r.Name,
City = r.City,
Country = r.Country,
CountOfReviews = r.RestaurantReviews.Count()
}
)
.Take(10);
if (Request.IsAjaxRequest())
{
return PartialView("_Restaurants", model);
}
return View(model);
}
$.ajax(options).done(function (data) {
var $target = $($form.attr("data-otf-target"));
alert('test');
$target.replaceWith(data);
});