1

当我在 aspx 文件中进行更改时,Visual Studio 的行为不正常。它对designer.cs 文件进行更改。这些更改意味着我无法通过我的代码隐藏文件中的 ID 访问我的任何控件。

当我在designer.cs文件中恢复在我背后所做的更改(使用SVN)时,我的构建再次成功并且一切正常。

我看到 Visual Studio 删除了设计器文件中的很多行。

我在网上阅读了一些类似的问题,但我找不到一个好的解决方案。

有没有人在使用 Visual Studio 时遇到过同样的问题,可以帮我解决这个问题吗?

更新:我发现 Visual Studio 在designer.cs 中添加了这一行:

 protected global::System.Web.UI.WebControls.UpdatePanel UpdatePanel1;

但这应该是:

 protected global::System.Web.UI.UpdatePanel UpdatePanel1;

当我在 Designer.cs 文件中手动进行此更改时,它可以工作。但是每次我对 aspx 文件进行更改时,Visual Studio 都会再次创建错误的引用。

4

3 回答 3

4

我的办公室在 Visual Studio 2013 中受到此问题的困扰。我们使用了以下解决方法:

  1. 右键单击项目并选择Properties.
  2. Application选项卡上,更改Target framework版本并保存项目。
  3. 重复步骤 1 和 2,将目标框架设置回您想要的框架。
  4. 再次保存.aspx文件。

这在 100% 的情况下都有效,但我们发现它弄乱了我们的一些 web.config 设置。

我们现在正在使用以下解决方法,它似乎也有效,并且不会对项目配置文件进行任何重大更改:

  1. 右键单击项目并选择Unload Project.
  2. 右键单击项目并选择Reload Project.
  3. 再次保存.aspx文件。
于 2014-06-30T08:40:53.783 回答
4

我有同样的问题。我的解决方法是将定义从设计器文件移动到文件背后的代码并将其正确定义为: Protected WithEvents UpdatePanel1 As Global.System.Web.UI.UpdatePanel

而不是让设计师继续不正确地覆盖它 Protected WithEvents UpdatePanel1 As Global.System.Web.UI.WebControls.UpdatePanel

我正在使用 vs2013 vb.net asp web 表单应用程序。

我还看到了将 web.config 文件中的目标框架更改为 4.0 的建议(对我不起作用,我的目标是 4.5,两个目标都有问题)

我还看到了使用注册标签的建议,例如: <%@ Register TagPrefix="asp" Namespace="System.Web.UI" Assembly="System.Web"%> 在页面顶部。这确实解决了我测试它时抛出的“错误”,但是它导致我的所有 asp 标签出现许多“警告”。

于 2014-01-17T03:33:15.607 回答
1

确保cs文件的类名与designer.cs相同,并检查aspx文件中页面的Inherits属性是否相同。还要检查您的项目中是否有任何与您的页面类名称同名的类,我也想知道当您在 aspx 页面中进行任何更新时出现的错误。

于 2012-02-22T11:08:56.523 回答