我已经在这个问题上停留了一段时间,并尝试了在Stackoverflow上提出的其他问题建议的解决方案。
所以,基本上我已经为我的网站创建了一个搜索模块,当它的Url调用并返回结果时,它可以正常工作。但是,当我在主布局页面上使用它的部分视图时,会出现此错误:
“执行处理程序的子请求时出错 'System.Web.Mvc.HttpHandlerUtil + ServerExecuteHttpHandlerAsyncWrapper'“
以后转换为:
“堆栈不足以安全地继续执行程序。这可以 因为在调用堆栈或函数上有太多函数而发生 堆栈使用了太多的堆栈空间。“
这是Controller的代码
public ActionResult SearchResult()
{
return View();
}
[HttpPost]
public ActionResult SearchResult(String h)
{
string s = Request.Form["name"];
var dataContext = new AutonomousEntities();
var saleRepository = new Repository<Sale>(dataContext);
var brandrepository = new Repository<Brand>(dataContext);
string result="";
List<Sale> sd = new List<Sale>();
IEnumerable<Sale> SaleList = saleRepository.GetAll();
IEnumerable<Brand> BrandList = brandrepository.GetAll();
List<Sale> sales = SaleList.ToList();
for (int i = 0; i <SaleList.Count(); i++)
{
Sale t = sales.ElementAt(i);
string name=t.Promotion.Promotion_Name;
if (name.Contains(s))
{
sd.Add(t);
}
}
return View("GetAllSale",sd);
}
这是我的观点:
@{
Layout = null;
}
@using (Html.BeginForm("SearchResult","Search",FormMethod.Post))
{
<input name="name" style="margin-top:20px;" type="text" />
<input type="submit" style="color:#1FABBC;" value="Search" />
}
这是错误发生的布局页面行:
<span> @Html.Action("SearchResult", "Search")</span>
我已尝试删除[HttpGet]
和layout=null