我有以下情况。我在visual studio 2008中创建了一个asp.net网站。在网站的根目录中,我有一个主页和一个页面old.aspx。我还有一个名为new.aspx的文件夹contentpages。 在new.aspx上我有几个web控件。其中一个是下拉列表,它在pageload事件中获取其数据源。当我通过输入正确的URL直接访问此付款时,这非常有效。 另一方面,old.aspx已经过时,应该重定向到new.aspx。这就是old.aspx最近所做的事情。然而,从new.aspx调用页面加载,突然间它无法识别任何web控件。他们都是NULL。 我该如何解决这个问题?
答案 0 :(得分:2)
此处还有其他事情发生。 Response.Redirect与在地址栏中输入URL完全相同。它将正常加载页面而不会发生任何回发事件。我对这一点100%肯定。 Server.Tranfer的工作方式略有不同。
在黑暗中拍摄:您是否偶然复制了文件“old.aspx”并将其粘贴并更改了名称?检查new.aspx标记中@Page标记的“Inherits”属性,并确保它与后面代码中的类名以及“CodeBehind”属性相匹配。如果您手动复制文件,这些可能会失控,因为将标记页面指向不同的代码或类别是完全合法的,但它可能不是您想要的。
答案 1 :(得分:0)
您必须明确找到控件。尝试FindControls
之类的东西