一个疑问 困扰好久了

挨踢直男 2010-08-26 11:03:40
创建了一张 .aspx页面 .cs文件里有这么一个类
public partial class _Default : System.Web.UI.Page


我想在程序中实例化它 然后调用他的方法 但为什么不行?

找到了一个方法 可以用反射 调用其中的属性和方法

但为什么不能像使用正常类一样在其它页面中实例化他啊?

他也是一个类啊 用 namespace 定义他的命名空间就出现错误 查msdn也查不出什么来 请高手帮忙
...全文
217 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 aspwebchh 的回复:]
C# code
行 14: public partial class _Default : System.Web.SessionState.IRequiresSessionState {


我的 显示完整的编译源: 里面是这样的啊
[/Quote]
其实首先要读懂调试符号注释。搜索“#line 1 ”(后边有一个空格),你就直接找到页面的开始了。
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 aspwebchh 的回复:]
C# code
行 14: public partial class _Default : System.Web.SessionState.IRequiresSessionState {


我的 显示完整的编译源: 里面是这样的啊
[/Quote]

这不是页面,而是code-behide的部分类。

向下看到真正的页面类型(看每一行前边的调试信息注释就能知道对应的源代码是哪一条!)
mngzilin 2010-08-27
  • 打赏
  • 举报
回复
可以

回复内容太短了!
挨踢直男 2010-08-27
  • 打赏
  • 举报
回复
为什么还是那个部分类啊 没有显示 子类的信息啊
挨踢直男 2010-08-27
  • 打赏
  • 举报
回复
public class default_aspx : global::_Default, System.Web.IHttpHandler {

没有这个啊
挨踢直男 2010-08-27
  • 打赏
  • 举报
回复
行 14:   public partial class _Default : System.Web.SessionState.IRequiresSessionState {


我的 显示完整的编译源: 里面是这样的啊
  • 打赏
  • 举报
回复
另外要补充的就是那个“global::是怎么来的?”这个问题。其实,在asp.net2以后,并不再需要为所有class设置命名空间。没有命名空间的类(例如_Default)也是可以存在的。
xcf007 2010-08-27
  • 打赏
  • 举报
回复
膜拜sp1234~
gengchenhui 2010-08-27
  • 打赏
  • 举报
回复
真是学习了啊,sp多讲原理吧,看来不懂原理只能照着别人做,错了都不知道哪儿错了。。。
  • 打赏
  • 举报
回复
来看看msdn,可以解答你许多这类问题。

http://msdn.microsoft.com/zh-cn/library/ms379581(VS.80).aspx
  • 打赏
  • 举报
回复
告诉你一个最基本的方法,你可以自己去看(不用求人):

在你的页面(aspx页面)的第二行以后写入以下的内容
<script runat="server">
adfkadkfasd
</script>

就这样胡乱写一行“代码”,然后在vs设计窗口上点右键并选择“直接在浏览器中查看”,如果有警告不用管它继续执行,之后就可以在浏览器上看到错误页,在这个错误页下部有两个链接,第二个是“查看完整的编译源”,点击它,你就能看到页面完整的编译代码。

你可以看到,页面有个默认的命名空间(例如ASP),并且页面类型根本不是你说的什么 _Default,而是类似这样的
public class default_aspx : global::_Default, System.Web.IHttpHandler {
,既真正由asp.net生成的页面类型是从_Default类继承的子类。实际上这在asp.net基础知识里有很清晰的说明,大概只是现在越来越少人去学习原理了所以少有人提及。
挨踢直男 2010-08-26
  • 打赏
  • 举报
回复
但如果两个页面在不同文件夹下面就不行了啊?
leejelen 2010-08-26
  • 打赏
  • 举报
回复
学习!
wuyq11 2010-08-26
  • 打赏
  • 举报
回复
public partial class Default : System.Web.UI.Page
{
}

页面Default1.aspx
public partial class Default1 : System.Web.UI.Page
{
protected void Button_Click(object sender, EventArgs e)
{
Default d= new Default();

}
}
myhope88 2010-08-26
  • 打赏
  • 举报
回复
没这样弄过,帮顶下
cpp2017 2010-08-26
  • 打赏
  • 举报
回复
new _Default ().方法就可.
挨踢直男 2010-08-26
  • 打赏
  • 举报
回复
行 187:        [System.Diagnostics.DebuggerNonUserCodeAttribute()]
行 188: public override int GetTypeHashCode() {
行 189: return 1236230536;
行 190: }


给这个类定义名称空间的时候就报这个错啊
cpp2017 2010-08-26
  • 打赏
  • 举报
回复
可以实例化的.
.

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧