asp.net

  • EnableSessionState
    • EnableSessionState 默认值是 "True", 会造成同一SessionID的会话锁住。
    • 可以把不写Session的页面EnableSessionState="ReadOnly", 如无特殊必要可以不做此项的设置。
    • 因为本身一个前台登录浏览器系统的用户就一个sessionid,一定是一个操作完成了去做另外一个操作。
    • 如果网页速度慢,是后台代码问题,需要优化后台代码。
    • 这是位置:
    • aspx 文件的头上
      <%@ Page Language="C#" AutoEventWireup="true" CodeFile="CrossPageLock1_1.aspx.cs" EnableSessionState="ReadOnly" Inherits="test_CrossPageLock1_1" %>
      
    • 全局设置,在web.config中配置
      <system.web>
          <pages enableSessionState="ReadOnly"></pages>
      </system.web>
      
    • 参考资料: 资料
  • page的事件处理顺序

​ Page_Load() => 按钮触发的事件 => OnPreRender()

 protected override void OnPreRender(EventArgs e)
 {
        base.OnPreRender(e);
            //自己的代码
 }
  • ViewState"XXX"

​ 数据内容页面暂存,需要在下一次提交页面的时候才可以访问得到。

​ 注意⚠️: 由于 上面 的事件过程,如果按钮事件触发了保存,并且页面的内容需要现加载(也就是页面没有都采用asp的组件,有前台脚本或者动态显示的部分,需要再次调用进行动态显示的处理。次处理可以在OnPreRender事件中完成。