ASP.NET 错误? ResouceManager.GetString(string) 当找不到字符串时,aspx文件被执行两次
我发现了一个非常奇怪的...错误...
我发现由于某种原因,ASPX 页面总是执行两次。
我在用户(asxc)控件中追踪到这一行,我有:
<img src='<%=RS("buildhover")%>' />
RS只是一个解析为ResouceManager.GetString(“buildhover”)的辅助函数
我发现resx文件中根本缺少“buildhover”正在阅读。添加后,ASPX页面不再运行两次...
这很奇怪,因为我广泛使用资源文件,我真的很想知道为什么这是...
I tracked down a very weird ... bug...
I found that for some reason, an ASPX page always executed twice.
I tracked it down to this line in a user (asxc) control, I had :
<img src='<%=RS("buildhover")%>' />
RS is just a helper function that resolves to ResouceManager.GetString("buildhover")
I found that "buildhover" was simply missing from the resx file that was being read. When added, the ASPX page is no longer run twice...
This is very strange and since I use resource files extensively, I am really interested to find out why this is...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
发布评论
评论(2)
如果您在 ASP.Net 页面回发中观察到加载事件两次,请检查以下内容:
1.如果在 Codebehind 中定义 Page_Load 处理程序,则 AutoEventWireup 属性应为“false”
- 检查您是否错误地为事件
- Src 注册了多个事件处理程序或图像控件的 ImageURL 属性已定义且不为空(您可以将 %20 设为空白)
- bgColor 或背景为空
最后两个问题通常出现在一种浏览器中,而在另一种浏览器中消失。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
当您的图像元素的字符串 URL 为空时,它会向当前页面发出请求。当资源不存在时,您会得到一个空白字符串。因此
ResouceManager.GetString("buildhover")
的结果是一个空字符串。看看生成的html。您将得到类似
的内容
When you have an image element with a blank url for the string then it makes a request to the current page. When the resource doesn't exist you get a blank string. So the result of
ResouceManager.GetString("buildhover")
is an empty string.Look at the html produced. You will have something like
<img src="" />