引入了无限循环,使用jquery和MVC,无法找到导致无限循环的原因

本文关键字:无限循环 MVC 使用 jquery | 更新日期: 2023-09-27 18:06:31

我似乎不知怎么引入了一个无限循环。我正在使用MVC2,并试图使用jQuery postajax -但它似乎正在发生。

这个想法是用户输入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);
}

问题是,(是否使用ajaxpost)我得到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();
}

引入了无限循环,使用jquery和MVC,无法找到导致无限循环的原因

在您看来,您是否有机会调用@Html.Action() helper ?(与@Html.ActionLink()相反)

你也应该能够按F5来调试应用程序,让它爆炸,并检查调用堆栈找到导致无限外观的违规代码。