SharePoint 2010 Server中的Upload.aspx

某童鞋因为客户的某些需求,需要对上载文档的页面做一定的修改,但是发现Upload.aspx改了无效。

我用Reflector看了一下Upload.aspx的代码,发现了下面这个东西:

   1: protected override void OnPreInit(EventArgs e)
   2: {
   3:     if (!this.customPage)
   4:     {
   5:         string customUploadPage = base.Web.CustomUploadPage;
   6:         if (!string.IsNullOrEmpty(customUploadPage))
   7:         {
   8:             try
   9:             {
  10:                 base.Server.Transfer(customUploadPage);
  11:             }
  12:             catch (Exception)
  13:             {
  14:             }
  15:         }
  16:     }
  17:     base.OnPreInit(e);
  18: }

this.customPage这个成员变量根本就没有在任何地方赋值过,所以永远都是默认值false,因此这个方法的行为就是:如果当前网站的CustomUploadPage不是空的话,就Transfer到这个CustomUploadPage这个页面。

在SharePoint Server里面,网站的CustomUploadPage这个属性默认应该是指向~site/_layouts/UploadEx.aspx的(SharePoint Foundation貌似没有UploadEx这个页面,有装了Foundation的可以帮忙验证一下)。

而Server.Transfer的行为是在服务器端把执行流程转交给另一个页面,因为这个行为是完全在服务器端完成的,客户端浏览器不知道这个行为,所以不论是在地址栏里也好,还是页面右键属性看到的页面地址也好,都还是Upload.aspx。

又因为这个Transfer过程是发生在OnPreInit事件里面的(页面生命周期的第一个事件),所以Upload这个页面除了这个方法之外,根本就没执行任何事情……

所以对于SharePoint Server来讲,Upload.aspx就是一个傀儡页面,实际在背后执行的是UploadEx.aspx,要改的话就改UploadEx。

嗯。

转载于:https://www.cnblogs.com/erucy/archive/2012/04/12/2444989.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值