asp.net 页面的.aspx和.cs页面。
问题:为什么.cs页面中的类和方法的修饰符修饰为protect(受保护)的。.aspx页面就能调用.cs中的方法?这两个页面直接有什么关系?不是说protect只能被本类...
问题:为什么.cs页面中的类和方法的修饰符修饰为protect(受保护)的。.aspx页面就能调用.cs中的方法?这两个页面直接有什么关系?不是说protect只能被本类内部或者它的子类才能调用吗?求详解。谢谢。
展开
2个回答
展开全部
你在aspx 的页面后台已经引用这个类 当然是可以用的
就是这么一句 protect XXX(类名) xxx = new XXX();
在调用XXX里面方法的时候 就可以 xxx.方法名()
如果不加 protect XXX(类名) xxx = new XXX(); 实例化一个对象
他就不能使用 当然你直接继承此类也可以使用里面的方法 就是你说的是它的子类
就是这么一句 protect XXX(类名) xxx = new XXX();
在调用XXX里面方法的时候 就可以 xxx.方法名()
如果不加 protect XXX(类名) xxx = new XXX(); 实例化一个对象
他就不能使用 当然你直接继承此类也可以使用里面的方法 就是你说的是它的子类
追问
aspx页面中前端aspx页是不是继承了aspx.cs后置页。所以后置aspx.cs页中的类中的方法必须声明为protected或者public ,前端aspx页才能调用后置cs类中的方法。
追答
这个不是 aspx 和aspx.cs 两个页面组成一个完整的页面 aspx.cs 只是aspx 的后台页面
你可以看aspx 页面里的最上面的哪一行代码 CodeFile="XXX.aspx.cs" 这句大体可理解为编码文件
它是指向你后台页面名称的 你如果把它换成别的 你后台的方法之类的就这aspx前台页面用不了
其实aspx和 aspx.cs 可以看成一个整体
但如果方法是private 的时候 在前台aspx页面也是使用不了的
就像你说的 “aspx页面中前端aspx页是不是继承了aspx.cs后置页” 那不叫继承 但可以这样理解
展开全部
并非你说的那样
如果页面类中的方法没有被声明为protected 他一样可以被页面调用
protected是指受保护的,没错,受保护的在本类和其子类中都可以调用 这样只是为了解决命名问题而已 不然你A页面声明了A方法 B页面也来个A方法 那样会有问题的 用protected修饰之后呢 不同页面的方法命名就不会冲突了
而且最终页面和页面类是会编译成一个整体的 你说的protected对她们没影响 她们本来就是一体的 只是把后台代码和前端代码分开而已
如果页面类中的方法没有被声明为protected 他一样可以被页面调用
protected是指受保护的,没错,受保护的在本类和其子类中都可以调用 这样只是为了解决命名问题而已 不然你A页面声明了A方法 B页面也来个A方法 那样会有问题的 用protected修饰之后呢 不同页面的方法命名就不会冲突了
而且最终页面和页面类是会编译成一个整体的 你说的protected对她们没影响 她们本来就是一体的 只是把后台代码和前端代码分开而已
追问
aspx页面中前端aspx页是不是继承了aspx.cs后置页。所以后置aspx.cs页中的类中的方法必须声明为protected或者public ,前端aspx页才能调用后置cs类中的方法。
追答
没有 我只想说aspx页面和cs类最终会编译成一个文件 所以aspx可以访问到cs类中的方法 因为页面和页面类在页面的最上面声明了 你看下页面最上面那句 那就是他和哪个类绑定了的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询