Asp.net 如何在页面加载后存储变量值

Asp.net 如何在页面加载后存储变量值,asp.net,Asp.net,在我的应用程序中,有多个选项卡的概念。i、 我有第一页,然后下一页按钮移动到第二页,然后在第二页2按钮,下一页。因此,当用户单击prev按钮时,我需要在第一页填写字段。这可以通过使用状态管理来实现。如果除此之外还有其他方法吗?您可以使用会话,例如 在你的第一页: string str; Session["someName"] = str; 在第2页中,您可以通过调用会话进行检索,因为sessoin是一个全局变量 string n_str; n_str = Session["someName"]

在我的应用程序中,有多个选项卡的概念。i、 我有第一页,然后下一页按钮移动到第二页,然后在第二页2按钮,下一页。因此,当用户单击prev按钮时,我需要在第一页填写字段。这可以通过使用状态管理来实现。如果除此之外还有其他方法吗?

您可以使用会话,例如

在你的第一页:

string str;
Session["someName"] = str;
在第2页中,您可以通过调用会话进行检索,因为sessoin是一个全局变量

string n_str;
n_str = Session["someName"] as string;

我认为这完全取决于您的项目是如何构建的,因此您有很多选择:

1-您可以将其构建为一个包含多个选项卡的页面,作为HTML div,并且“下一个”和“上一个”按钮显示和隐藏这些div,因此您不需要将数据存储在任何位置,因为页面没有更改,只需显示和隐藏

2-将其存储在全局变量(如会话)中 但是,如果您有一个高流量的应用程序,您可能会耗尽内存,或者需要在数据库会话中使用,而不是默认的内存会话存储

3-在使用web服务从一步移动到另一步或从代码隐藏移动到数据库时,部分保存数据,然后在单击“上一步”时再次重新加载数据


至于我,我推荐第一种方法,因为它不会给服务器增加额外的负载,也不会影响性能。

您可以将它们存储在会话对象中。请参阅MS文档以了解其工作原理:状态管理指的是在请求/响应周期内维护应用程序的状态,这一点很重要,因为HTTP是无状态的。我可以在会话中存储第一页的文本框值,这一点是可以的,但当再次转到第一页时,移动到第二页后,在哪里检索会话值?在页面加载中,我想,它会抛出错误,因为会话为空。我想你没有收到我的问题。没问题,我的要求是执行多选项卡。这样我们就可以转到下一页和上一页。因此,我的要求是,当我们单击“上一步”按钮时,应在单击“下一步”按钮之前填写上一页的文件。哦,您的意思是,您希望在会话仍在进行时,将数据保留在文本框中。这里有一个关于如何使用viewstate的链接,这是您问题的解决方案。顺便说一句,会话将不会为空,除非您创建了会话。RemovesomeName;或Session.RemoveAll;根据我的要求,第一个不适用,第二个和第三个适用,但将值存储在db中并再次重试可能会产生大量流量。会话部分i仍然混淆,当返回到第1页时,我们需要在页面加载中重新驱动会话值,会话包含null,它抛出错误。您可能只需要检查null并将其转换为空字符串或默认值。会话[名称]!=空?会话[名称]:;默认值本身在会话中,因此,如果它为null,我如何将其分配给字段?抱歉,但是会话如何具有默认值并且可以同时为null。你可以把你的照片寄给我,我们可以一起看看。