由于我们在ASP.net 网站中实施了全球化,因此我们遇到了一些智能感知问题。
当资源添加到asp.net控件时,我们会收到错误。 即使错误在visual studio中显示,该应用程序仍可正常工作!
例如,以下按钮
<asp:Button runat="server" ID="BtnSave" Text="<%$ Resources:ResourceName, Save %>" OnClick="BtnSave_Click" />
在后面的代码中无法识别:
仅在后面的代码打开时才会显示错误。但是在浏览器中它可以工作!
没有资源引用的相同按钮效果很好:
<asp:Button runat="server" ID="BtnSave" Text="Save" OnClick="BtnSave_Click" />
这是一个自定义SQL资源提供程序工厂,已添加到web.config:
<globalization resourceProviderFactoryType="MyNamespace.SqlResourceProviderFactory" />
我尝试删除缓存并重新启动计算机。
您对如何找到问题有任何提示吗?
提前致谢。
答案 0 :(得分:6)
当我创建一个新的VS2010解决方案并拖入现有网站时,我遇到了这个问题。要解决这个问题,请右键单击项目并“转换为Web应用程序”,这将创建设计器文件并修复智能感知问题。
答案 1 :(得分:3)
我自己曾经这样做了几次,但对全球化没有反应。
我总是通过重新启动VS(看起来你已经尝试过)来解决它,或者检查前端代码中的类名并返回代码是相同的。
这听起来像是一个愚蠢的事情,但如果你复制一个页面,那么类名不会更新,所以绑定有点偏斜(这是一个技术术语)。
可能无济于事,但需要检查一下。
答案 2 :(得分:1)
尝试清除临时编译的页面缓存,包括32位和64位各自的目录(如下所示64位):
%System Drive%:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files
有时可以做到这一点
答案 3 :(得分:1)
您是否可以使用隐式资源键引用来尝试它,看看这是否有帮助,而不是您正在使用的显式引用?
http://msdn.microsoft.com/en-us/library/ms227427.aspx
此外,您是否尝试删除“obj”文件夹并重建 - 有时这对我有用吗?
答案 4 :(得分:1)
当.aspx页面的内容已批量复制到新页面时导致2个.aspx文件指向后面的相同代码时出现此问题
CodeFile="xxxxxxxx.aspx.cs"
它以同样的方式表现出来,错误抛出,停止构建但注释掉,构建然后将其评论回来并且网站和功能运行良好。
答案 5 :(得分:1)
通常可以通过清理和重建来修复。
如果不起作用,请尝试在标记或设计视图中添加内容以强制重新生成设计器文件。
重命名页面文件时也会发生这种情况。在.aspx文件中仔细检查“CodeBehind =”和“Inherits =”字段是否正确:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebPagName.aspx.cs" Inherits="NameSpace.ClassName" %>
例如,如果您的网页名称是WebPage1,并且WebPage1.aspx.cs文件中的类名是WebPage1,而您的项目名为Project1,那么它可能如下所示:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebPage1.aspx.cs" Inherits="Project1.WebPage1" %>
答案 6 :(得分:0)
你可以做“清洁解决方案”并删除c盘中asp.net的临时文件夹,让我知道这是否有帮助
答案 7 :(得分:0)
我们的资源提供程序出现了问题:它正在编译并处理运行时,但在没有HTTP上下文(HttpContext.Current
)的情况下运行时崩溃。
我建议遇到同样问题的其他人检查他们的web.config文件中使用的类是否存在这种不一致。