首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在asp.net网页之间的会话中传递C#自定义对象

在asp.net网页之间的会话中传递C#自定义对象
EN

Stack Overflow用户
提问于 2012-12-17 01:31:29
回答 3查看 3K关注 0票数 1

当我试图将一个自定义对象从一个网站的一个页面传递到另一个页面时,我遇到了一个令人沮丧的问题。当我尝试在第2页上使用session中的对象时,它是空的。我相信我的语法是正确的,因为当我从我的较大的解决方案中取出代码并在它自己的解决方案上运行它时,它工作得很好。

我想知道在visual studio、aspx文件、项目属性中是否有任何设置可能会导致此会话对象无法工作?

我使用的简单语法是;在page1上

代码语言:javascript
运行
复制
Person p = new Person;
p.name = "john"; 
p.secondName = "doe";
Session["person"] = p.
Response.Redirect("Page2.aspx")

页面加载方法上的第2页

代码语言:javascript
运行
复制
Person p = (person)Session["person"]
textbox1.Text = p.name;
textbox2.Text = p.Secondname;

正如我所说的,这段代码本身工作得很好,但不能作为我更大的works项目的一部分。任何关于为什么这可能不起作用的想法都将不胜感激。

EN

Stack Overflow用户

回答已采纳

发布于 2012-12-17 01:41:25

有三种可能的选择。

第一个问题是,在大型项目中,会话状态是禁用的。请访问Turn Off ASP Session State in Active Server Pages and IIS了解更多详细信息。

第二种选择是异常发生在应用程序内部的某个地方(单独的线程),从而导致应用程序重启和会话状态松散。您可以通过连接到Global.asax内部的应用程序错误来检查这一点,如下所示:

代码语言:javascript
运行
复制
    void Application_Error(object sender, EventArgs e)
    {
        Exception ex = Server.GetLastError();
    }

最后一个选项是会话“person”值在其他模块或页面中被更改。

票数 2
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13903747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档