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事件中完成。