• 避免Webpart Page的URL地址中带ID参数的问题


    这个怪异的问题浪费我好几个小时的时间,也为了方便遇到以及即将遇到此怪异问题的朋友们,我觉得有必要在这里“立此存照”。

    问题是这样的,在文档库新建一个Webpart Page或者在页面库新建一个页面,例如aaa.aspx,打开刚才这个新建的这个页面http://moss/Pages/test.aspx,这些都是最平常不过的了。在页面中我们经常会接受一些自己的参数来做自己的事情,OK,那我们加一个参数,URL变成这样http://moss/Pages/test.aspx?ID=2打开页面,这个时候问题就来了,你看到了什么?

    呵呵,不过呢,这个错误的重现也是有条件的:
    一是第一次加载的时候会出现,如果以前访问过了,那就不容易出现这个问题了,最简单的重现方法是重起IIS,然后打开这个带ID参数的页面;
    二是这个参数ID的值是数字并且要大于1(我太伟大了,晕来~)。

    出现这个问题的时候,我以为是我们页面上的控件或者webpart出现了问题,查来查去发现,把控件删除,webpart删除都一样的出现,后来干脆删除了这个页面,重新新建一个空页面,打开这么一个新建的页面,url后加上ID参数,又出现了这个问题,这个时候我意识到了错误可能是MOSS内部的一些机制造成的,果然随便打开一个页面加上ID参数都会出这样的问题。

    为了搞懂这个问题是怎么产生的,我看了大量的LOG文件,结果没找到什么有用的信息,最后用Reflector查看源代码,查半天结果找到最关键的地方给我来个This item is obfuscated and can not be translated,直接被气晕。。。

    最后我们将自己的参数名改掉来解决这个问题,比如http://moss/Pages/test.aspx?uid=2,惹不起咱躲得起嘛。
    所以为了避免这样的问题,咱就尽量躲开这些烦人的事儿吧 :)

    这段时间也没那么多时间去研究这个,如果哪位高手知道个中道理的,麻烦告知,多谢。


  • 相关阅读:
    C# 调用Java Webservice 加入SoapHeader 验证信息
    SqlServer查找表中多余的重复记录
    INI文件的读写
    Sql触发器脚本
    Sql遍历更新脚本
    CAS 单点登录,通过ticket 获取登录用户
    模块 | 验证格式
    aja如何解决跨域请求?
    说说各个浏览器box模型
    Vue 双向数据绑定原理分析
  • 原文地址:https://www.cnblogs.com/ycc/p/1415030.html
Copyright © 2020-2023  润新知