我想知道是否可以在没有 Querystrings 或 Session 的情况下将数据传递到另一个页面。
换句话说:我可以使用代表或任何其他方式来做到这一点吗?
您可以将数据发布到另一个页面(这与使用查询字符串略有不同,但可能与您的喜好过于相似)。可以使用 Request.Form["name_of_control"] 读取发布到另一个 Web 表单的任何数据。
在某些情况下,我不得不开发自己的方法,包括生成 GUID 并在页面之间传递它。然后任何页面都可以从静态键/值结构中提取与给定 GUID 关联的数据结构...类似于我想的会话,但我可以更好地控制它的工作方式。它允许任何用户同时向我的应用程序打开多个窗口/选项卡,并且每个窗口/选项卡都可以正常工作而不会影响或受其他窗口/选项卡的影响(因为每个用户都在传递不同的 GUID)。无论您选择哪种方法,我都敦促您考虑用户可能希望同时通过多个窗口/选项卡使用您的应用程序这一事实。
适合您的工具取决于您的需求。请记住,您的挑战在于使本来是无状态的 HTTP 更加有状态。该线程对此主题进行了很好的讨论: Best Practices for Passing Data Between Pages