net2.0 的一个问题,在b.aspx页面中得到A.ASPX页面的控件HEAD.ASCX中的一个TEXTBOX的值,如何作

来源:百度知道 编辑:UC知道 时间:2024/05/27 06:43:54
net2.0 的一个问题,在b.aspx页面中得到A.ASPX页面的控件HEAD.ASCX中的一个TEXTBOX的值,如何作

首先你要清楚web页面与forms编程的区别。

在.net中的web页面不像是window forms编程中,每个form在程序运行的整个过程中一直作为一个对象存在于内存中的。

而.net的web page编程模拟了form编程的执行过程。但web编程服务器和浏览器是异步的。aspx页面是在浏览器端呈现的,但aspx页面在服务器上只有一个很短的生命周期的,(这个周期短到你几乎感觉不到,哈哈,如果长到你都能感觉到,那么作为访问者的你早在骂:该死老牛服务器了),也就是说,你的页面在服务器上以一个page类存在的时间仅仅是处理你的请求的那部分时间,你下一次以相同页面发出相同请求的时候,服务器实际上是生成这个page类的另外一个实例来处理你的请求的。

而你每一次只可能从一个页面发出请求,那么对你来说,服务器上只存在一个页面,你怎么可能用页面b.aspx去取页面A.ASPX的内容呢?

所以这必然有一个先后的过程
可能是访客在浏览器端把A.ASPX提交给服务器,其中A.ASPX页面中的控件HEAD.ASCX有一个TEXTBOX,其值你又想把它给页面b.aspx处理

或者可能是访客在浏览器端把b.aspx提交给服务器,但你希望b.aspx来处理浏览器端A.ASPX页面中的内容

还有种情况就是A.ASPX需要从b.aspx的类中取得静态内容。你的情况应该是前两种的一种。

对于第一种情况,你可以有两种处理方法,一种情况就是把A.ASPX页面的内容传给b.aspx来处理,如Page.Redirect("b.aspx?content=你的内容"),另一种情况就是你只想用b.aspx页面中的一个方法来处理A.ASPX页面中的内容,这时你可以实例化一个b页面的页面类来调用b的实例方法,或者直接访问b的表态方法也行。

对于第二种情况,你得重新设计浏览器端的代码,使得b.aspx在回传时在浏览器端就把A.ASPX中的内容取到b.aspx中提交给服务器来处理。

传参数,就可以了