【发布时间】:2019-08-21 20:58:35
【问题描述】:
对于一个任务,我必须创建一个购物车,每个项目都作为一个对象添加到一个名为“ShoppingCart”的 Session 变量中
例子:
'Created elsewhere eg. Home.aspx.vb'
Session("ShoppingCart") = New Collection
'On a Product Page, Product is a Class that holds the product name/price'
Dim product As New Product
product.SetName("Cheese")
Session("ShoppingCart").add(product)
我现在必须在“结帐”页面上显示 Session 变量的内容,以便用户可以看到他们的所有项目。是否可以在 .aspx 页面上循环 Collection 或者是否有更好的方法来动态显示 Session 变量的内容?
我认为在服务器上构建输出可能会更好,因为我需要访问每个对象名称才能显示它。
理想输出示例:
<html>
<header>
</header>
<body>
<table>
<tr>
<td>Cheese</td>
<td>x1</td>
<td><button>Remove</button></td>
</tr>
</table>
</body>
</html>
【问题讨论】:
-
Session("ShoppingCart") 中存储的对象类型是什么?大概它是一个产品列表,如果是这样,则循环遍历列表或对列表进行数据绑定,例如在 GridView- 或 Repeater-control 中。
-
@Esko 是的,它是一个
Collection,但是我究竟该如何循环遍历它,以及循环遍历对象集合并以合适的方式返回它们的详细信息的最佳方式是什么,我应该在服务器上执行吗?侧面还是从.aspx页面可行? -
服务器端当然,你不能在客户端访问会话(没有ajax)。因此,请阅读有关 gridview 或 repeater-controls 的数据绑定。