尝试使用WebMatrix在两个C#ASP.NET页面之间传递数据库查询结果

尝试使用WebMatrix在两个C#ASP.NET页面之间传递数据库查询结果,c#,asp.net,razor,webmatrix,C#,Asp.net,Razor,Webmatrix,我正在使用Microsoft WebMatrix创建一个基本的web应用程序。为了加快开发过程,我决定使用WebMatrix程序提供的“入门网站” 在我的网站上,我遇到了一个显示问题,我在其中一个页面上显示的表格太宽(用户需要将大量内容滚动到浏览器窗口的右侧) 该表是通过DB查询填充的,我认为解决显示问题的最佳方法是使用IFrame。但是,由于IFrame不能直接获取表,而是必须由一个额外的网页“填充”,因此我现在必须在应用程序的各个页面之间传递数据库查询的结果 我已经尝试使用Session变量

我正在使用Microsoft WebMatrix创建一个基本的web应用程序。为了加快开发过程,我决定使用WebMatrix程序提供的“入门网站”

在我的网站上,我遇到了一个显示问题,我在其中一个页面上显示的表格太宽(用户需要将大量内容滚动到浏览器窗口的右侧)

该表是通过DB查询填充的,我认为解决显示问题的最佳方法是使用IFrame。但是,由于IFrame不能直接获取表,而是必须由一个额外的网页“填充”,因此我现在必须在应用程序的各个页面之间传递数据库查询的结果

我已经尝试使用Session变量来实现这一点,但是它似乎只包含键、值对,而实际上,我的数据库查询结果更像一个数组

在页面顶部,我为数据库查询声明变量,如下所示-

var db = Database.Open("AU");
var resultSetH = db.Query("SELECT 1;");
(以上我已简化)

我现在需要在(C#)asp页面之间(在WebMatrix中)传递'resultSetH'变量


我怎样才能完成预期的任务?这在不使用MVC的情况下是可能的吗?

不,不,不!仅仅因为无法在屏幕上显示某些数据而使用iframe不是一个好的解决方案。iFrame通常会产生额外的问题。相反,只需使用具有固定宽度和宽度的div

这里有很长的数据。
会话持有键值对,但该值可以是任何对象。但是,会话对于在页面之间传递数据来说是一个糟糕的选择,因为会话没有绑定到任何特定的页面,这使得在同一个会话上打开多个窗口/选项卡的情况下很难处理,最终可能会混淆用户或破坏应用程序。相反,您可以通过提供查询字符串参数将数据传递到新页面。在这种情况下,我并不是要重申这一点,因为在iframe中嵌入另一个页面是个坏主意,但我只是想说明会话可以存储任何可序列化的内容。

您将其标记为。这明显不同于。你应该更新你的标签,以明确你在使用什么。
<div style="overflow: auto; width: 500px">Your really long data here.</div>