Chức năng tìm kiếm của tôi dường như tiếp tục trong một vòng lặp vô hạn, mỗi lần gỡ lỗi của tôi chạm vào hành động bên dưới hành động POST được kích hoạt.Không đủ ngăn xếp để tiếp tục thực hiện chương trình một cách an toàn. ASP.NET MVC 4
Trong Masterpage.cshtml của tôi, tôi đã hành động sau đây:
<li>@Html.Action("Search", "Search")</li>
Đây là phần mà được các lỗi của sau:
Thiếu ngăn xếp để tiếp tục thực hiện chương trình một cách an toàn. Điều này có thể xảy ra do có quá nhiều chức năng trên ngăn xếp cuộc gọi hoặc chức năng trên ngăn xếp sử dụng quá nhiều không gian ngăn xếp.
Trong SearchController của tôi, tôi có một GET và POST ActionResult phương pháp:
[HttpGet]
public ActionResult Search()
{
return PartialView("SearchFormPartial");
}
một này trả về một lần xem một phần mà có sau nội dung:
@using (Ajax.BeginForm("Search", "Search", FormMethod.Post,
new AjaxOptions
{
InsertionMode = InsertionMode.Replace,
HttpMethod = "POST"
}))
{
<div>
@Html.TextBox("query", "", new { @class = "search-query", @placeholder="Search news...", @spellcheck="false"})
<input type="submit" value="Search" />
</div>
}
của nó về cơ bản là một hình thức với textbox và nút gửi.
Đây là http post ActionResult:
[HttpPost]
public ActionResult Search(string query)
{
if (query != null)
{
try
{
var searchlist = rep.Search(query);
var model = new ItemViewModel()
{
NewsList = new List<NewsViewModel>()
};
foreach (var NewsItems in searchlist)
{
FillProductToModel(model, NewsItems);
}
return View("Searchresults", model);
}
catch (Exception e)
{
// handle exception
}
}
return View("Error");
}
Nó trả về một cái nhìn với một viewmodel chứa ảnh nào phù hợp với truy vấn.
Khi tôi gỡ lỗi, mọi thứ hoạt động hoàn hảo nhưng mọi thứ dường như được lặp lại vô cùng.
Quan điểm cho SearchResult trông như thế này:
@model Namespace.ViewModels.ItemViewModel
@if (Model.NewsList.Count == 0)
{
<h3 class="text-error">No items matched your search query!</h3>
}
else
{
foreach (var result in Model.NewsList)
{
// display search results
}
}
exacly là gì đi sai ở đây gây ra vòng lặp vô hạn này? và làm thế nào tôi có thể sửa nó?
Trong stack trace tôi tìm thấy những trường hợp ngoại lệ
[HttpException (0x80004005): Error executing child request for handler
'System.Web.Mvc.HttpHandlerUtil + ServerExecuteHttpHandlerAsyncWrapper'.]
ngoại lệ này dường như bị lặp đi lặp lại
không, nhưng khi lặp lại được thực hiện, nó nhảy đến masterpage.cshtml và Html.Action ("Tìm kiếm", "Tìm kiếm" ") có ở đó. – Obsivus
Bạn gặp lỗi khi bạn đăng lên hành động Tìm kiếm? –
Tôi nhận được lỗi khi tôi ngừng chạy ứng dụng webb .. khác vòng lặp vô hạn của nó có nghĩa là khi tôi nhập văn bản và nhấp vào gửi chỉ cần tải – Obsivus