Asp.net mvc 为什么这个@Html.Raw()可以在firefox中使用而不能在chrome中使用

Asp.net mvc 为什么这个@Html.Raw()可以在firefox中使用而不能在chrome中使用,asp.net-mvc,google-chrome,firefox,Asp.net Mvc,Google Chrome,Firefox,有谁能告诉我为什么这段代码在Firefox中工作没有问题,但在chrome中我得到了一个答案 System.Web.dll中出现System.StackOverflowException 我不明白为什么它在Chrome中不起作用。也许你的代码正在做它不应该做的事情 您的意思是从查询 下面的代码只考虑最后一个项文本,前面的所有内容都将被覆盖 foreach (var items in querys) { paths = items.Text; //try to replace this w

有谁能告诉我为什么这段代码在Firefox中工作没有问题,但在chrome中我得到了一个答案

System.Web.dll中出现System.StackOverflowException


我不明白为什么它在Chrome中不起作用。

也许你的代码正在做它不应该做的事情

您的意思是从
查询

下面的代码只考虑最后一个
文本,前面的所有内容都将被覆盖

foreach (var items in querys)
{
    paths = items.Text; //try to replace this with the line below 
    //paths = paths + items.Text + "," ;
}
ViewBag.Raw = paths;

我建议不要使用
Html.Raw
,除非您知道自己在做什么。应该使用
HttpServerUtility.HtmlEncode
来代替我设法让它与这段代码一起工作

@Html.Raw(HttpUtility.HtmlDecode(ViewBag.Raw)) 

据我所知,@Html.Raw呈现未编码的Html,因此需要首先对其进行解码

堆栈跟踪是什么?浏览器真的不应该在服务器端代码上有什么不同。我高度怀疑还有其他问题。当我调用堆栈时,它表示已超过Visual Studio支持的最大堆栈帧数。堆栈溢出异常通常是由无限递归引起的。简单地说,每次您执行创建变量、调用方法等操作时,都会向堆栈(内存的一部分)添加一个项。它有一个有限的极限,当你达到这个极限时,砰的一声。然而,在当今时代,用普通代码向堆栈中添加足够的代码几乎是不可能的,这就是为什么它通常是无限递归的结果。长短不一,它与浏览器无关。如果它在Firefox中工作,Firefox一定是在运行缓存之类的东西。查找代码中可能在执行
循环或方法递归(出于某种目的调用自身的方法)时执行
操作的区域。我尝试过,但没有成功。使用Html.Raw可以在firefox中工作,应该可以在Chrometh中工作。这就是出现的错误。已跳过符号加载。已跳过优化模块System.Web.dll的符号加载,因为仅启用了“我的代码”。这不是错误。这是来自VisualStudio的一个警告,关于无法加载用于调试目的的所有符号。它只会影响您在调试时单步执行代码的能力。这不是应用程序中的实际错误。
foreach (var items in querys)
{
    paths = items.Text;
}
ViewBag.Raw = paths;
foreach (var items in querys)
{
    paths = items.Text; //try to replace this with the line below 
    //paths = paths + items.Text + "," ;
}
ViewBag.Raw = paths;
@Html.Raw(HttpUtility.HtmlDecode(ViewBag.Raw))