.aspx中的控件在.aspx.cs中不可见,你以前见过吗?

时间:2010-06-29 14:12:45

标签: c# asp.net visual-studio

您是否曾经历过.aspx中定义的.aspx中无法看到的控件?即,当你编译时,它表示你的标签或文字等没有被宣布。

这是vs.net中的错误吗?

这是我做的,我创建了一个具有相同文件的新文件夹,并复制了.aspx内容和代码隐藏,然后更改了对新文件中旧文件的引用(如命名空间,代码隐藏引用) aspx等。)

我在.aspx和.aspx.cs上使用了超越比较以确保我改变了所有内容,但是当我编译时,我得到了25个错误。

这对我来说毫无意义,唉。

(使用vs.net 2008)

7 个答案:

答案 0 :(得分:1)

我以前见过这个,但只有intellisense没有拿起它。编译器仍然识别所有内容。您确定将runat="server"放在aspx页面中吗?

答案 1 :(得分:1)

我不确定这是不是你的原因,但是我已经多次发生这种情况,主要是在网站在我的开发服务器上运行时添加服务器控件,并使用自定义控件。 / p>

由于aspx.designer.cs文件在网站运行时是只读的,因此无法添加控件的设计代码。

我首选的解决方案是删除设计器文件,右键单击aspx文件,然后单击“转换为Web应用程序”。

答案 2 :(得分:1)

当我将一个复制到另一个和.aspx标记

时,我已经这样做了
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MarkPage.aspx.cs"
    Inherits="Web.Apps.MyPrototype.MarkPage" %>

与我背后的代码不匹配:

namespace Web.Apps.FirstPrototype
{
    public partial class MarkOtherPage : System.Web.UI.Page

答案 3 :(得分:0)

您是否可以检查设计器文件以查看控件是否在其中定义了类型?如果不是,我使用这种技术让它再次自动生成:

  • 在源视图中使用控件剪切标记。
  • 转到“设计”视图,然后粘贴复制的标记。
  • 再次构建项目。

通常,我可以重新设计设计器文件,然后在代码隐藏中使用控件。

Grz,Kris。

答案 4 :(得分:0)

更改为设计或拆分模式,进行小的更改(例如在某处键入空格),然后保存。这将重新生成缺少的designer.cs文件

答案 5 :(得分:0)

项目中是否有与文件名称相同的文件夹?

答案 6 :(得分:0)

您确定您的名字空间是否正确?您是否明确声明.cs文件中的命名空间?

尝试删除显式名称空间声明。

另外,请确保部分类声明是正确的 - 如果您发布了错误消息的内容,它可能会有所帮助,因为那里可能有线索。

最后,我看到控件因为与某些“特殊”名称(全局,本地等)发生冲突而搞砸的情况虽然我认为自VS2005以来我没有看到过这种情况。 / p>