asp.net的bug? ResouceManager.GetString(string)当找不到字符串时,aspx文件执行两次

时间:2011-09-24 22:20:46

标签: asp.net resources localization

我找到了一个非常奇怪的......错误......

我发现由于某种原因,ASPX页面总是执行两次。

我在用户(asxc)控件中将其跟踪到这一行,我有:

<img src='<%=RS("buildhover")%>'  />

RS只是一个帮助函数,可以解析为ResouceManager.GetString(“buildhover”)

我发现正在读取的resx文件中缺少“buildhover”。添加后,ASPX页面不再运行两次......

这很奇怪,因为我广泛使用资源文件,我真的很想知道这是为什么......

2 个答案:

答案 0 :(得分:1)

如果您的图像元素的字符串为空白网址,则它会向当前页面发出请求。当资源不存在时,您将获得一个空白字符串。所以ResouceManager.GetString("buildhover")的结果是一个空字符串。

看看制作的html。您将拥有类似<img src="" />

的内容

答案 1 :(得分:0)

如果您在ASP.Net页面的帖子中观察加载事件两次,请检查以下内容:

1.如果在Codebehind中定义了Page_Load处理程序,那么AutoEventWireup属性应为“false”

  1. 检查您是否错误地为事件注册了多个事件处理程序
  2. 图像控件的Src或ImageURL属性已定义且不为空(您可以将%20设为空白)
  3. bgColor或背景为空
  4. 最后两个问题通常出现在一个浏览器中,而在另一个浏览器中消失。

    http://devshop.wordpress.com/2008/06/02/aspnet-page-loading-twice/