日期:2014-05-18  浏览次数:20563 次

有关页面转向问题
若现有A.aspx   B.aspx   两个页面   ,在A页面通过Server.Transfer转到B页面,此时的地址栏应该是A页面的地址,然后我在B的页面上作个一个动作,地址栏就变成B页面了。我想就是能不能在B做动作的时候不让地址改变呢。在线等。

------解决方案--------------------
你所说的前者是正常的网页处理,请求a.aspx页面之后确实由a.aspx页面执行了。

你所说的后者是不正常的网页处理,请求a.aspx页的时候其实是由b.aspx处理。现在大概asp.net项目组还没有这么大胆地做出这种设计。url rewrite并不能凭空动态改变b.aspx中的所有连接指向a.aspx,所以在浏览器上一定也还是看到b.aspx的目的地址而不是a.aspx的目的地址。

不过你说的其实是可以轻松实现的。

网页是可以动态改变的。整个网站只需要有一个aspx页面,剩下所有内容都是根据状态动态地 LoadControl 装入用户控件——每一个用户控件都是一个应用组件。这需要你从一开始就这样设计。不过现在一般人都是学的八股做法,而不是工程做法,就好像他们说“多高的楼房都是一截一截堆砌起来的”,他们不使用动态网页设计。

虽然可以轻松实现,但是这要求有做大项目的完全不同的设计方法。