我在ASP.NET中遇到问题。我在Master Page中有一个下拉列表,我使用以下代码在UI项目之外的库中访问它:
Page page = HttpContext.Current.Handler as Page;
if (page != null)
{
return page.Master.FindControl("MyDdl") as DropDownList;
}
此代码正常工作正常。但有时如果我保持非活动状态15到20分钟然后导致回发(例如点击按钮,更改菜单等)。页面的主属性变为空。即page.Master
开始返回null。然后我按F5刷新页面,它再次开始工作。我也搜索谷歌,但没有找到任何相关的答案。任何人都可以指导我这里发生了什么吗?
答案 0 :(得分:2)
您遇到会话超时,会话已结束。您可以在两个地方配置会话。
首先在你的web应用程序web.config中如下:
<configuration>
<system.web>
<sessionState timeout="30"></sessionState>
</system.web>
</configuration>
或使用IIS管理器的第二个:
转到包含应用程序主要属性的选项卡,双击“会话状态”,在选项卡底部显示“超时(以分钟为单位)”。还有其他选项可以更改会话状态存储。
还可以使用代码检查会话状态。请看一下这篇文章: http://www.codeproject.com/Articles/227382/Alert-Session-Time-out-in-ASP-Net
快乐的编码!