引入了无限循环,使用jquery和MVC,无法找到导致无限循环的原因
本文关键字:无限循环 MVC 使用 jquery | 更新日期: 2023-09-27 18:06:31
我似乎不知怎么引入了一个无限循环。我正在使用MVC2,并试图使用jQuery post
或ajax
-但它似乎正在发生。
这个想法是用户输入id到一个文本字段,然后我搜索数据库的id,然后在网格中显示对象。
代码如下:
<script type="text/javascript">
function bulk() {
var data = $("#textfield").val();
$.post("Search", { searchString: data });
}
</script>
post到controller方法:
[HttpPost]
public ActionResult Search(string searchString)
{
...
return View(viewModel);
}
问题是,(是否使用ajax
或post
)我得到stackoverflow进入文本框输入id并点击搜索按钮后。这似乎是由无限循环引起的,但我不知道为什么会发生。这一行之后发生了什么:$.post("Search", { searchString: data });
我点击动作方法:public ActionResult Search(string searchString)
然后一切正常,搜索数据库,添加到视图模型,然后在return View(viewModel);
之后,我只是一遍又一遍地直接回到public ActionResult Search(string searchString)
。
我完全不明白为什么会发生这种事。你知道会发生什么吗?
edit: bulk
通过按钮调用点击<input type="submit" onclick="bulk()" value="Search" />
@Daniel,我得到StackOverflowException
未处理
在mscorlib.dll中出现'System.StackOverflowException'
类型的未处理异常如果我单击查看详细信息-无法计算表达式,因为当前线程处于堆栈溢出状态。
它出现在实体框架代码
public Entities() : base("name=Entities", "Entities")
{
this.ContextOptions.LazyLoadingEnabled = true;
OnContextCreated();
}
在您看来,您是否有机会调用@Html.Action()
helper ?(与@Html.ActionLink()
相反)
你也应该能够按F5来调试应用程序,让它爆炸,并检查调用堆栈找到导致无限外观的违规代码。