【发布时间】:2015-08-18 06:15:15
【问题描述】:
我有一个 Ajax 调用,它击中了我的控制器操作“SearchFromWithin”,我想知道为什么视图没有显示。我可以进入视图并通过它,但屏幕保持不变。它不显示新视图。
这是我的代码
var optionsFromWithin = {
url: '/Home/SearchFromWithin',
type: "get",
data: { searchQuery: navbarInput.value, classDate: today, latitude: latitude, longitude: longitude, mapType: mapType }
};
$.ajax(optionsFromWithin).done(function (data) {
// don't do anything here
});
这是控制器中的操作。当我到达 return 语句时,我可以进入“搜索”视图并逐步浏览它,而不会出现明显的错误,但该页面与我进行 Ajax 调用时所在的页面相比永远不会改变。
[HttpGet]
public ActionResult SearchFromWithin(string searchQuery, DateTime classDate, string latitude, string longitude,
string mapType, int page = 1)
{
// do a bunch of stuff here
return View("Search", viewModel);
}
【问题讨论】:
-
您好,尝试使用局部视图而不是视图,因此,将返回视图更改为返回 PartialView("Search", viewModel),还要记住,PartialView 必须只有里面的 html身体。
-
请不要硬编码你的网址 - 使用
url: '@Url.Action("SearchFromWithin", "Home")',
标签: jquery ajax asp.net-mvc asp.net-mvc-viewmodel