是否可以在asp会话对象中存储For Next循环?

时间:2012-12-12 16:21:32

标签: asp.net vb.net session viewstate

我需要将以下代码存储在asp会话对象或viewstate中。

For i As Integer = 0 To lstItems.Items.Count - 1
        txtcart.Text &= lstItems.Items.Item(i).ToString() & ""

    Next

我在ASP.Net网站的内容页面上有这个代码。我需要从我的母版页访问它,以便我可以将其打印到母版页上的文本框中。

控件txtCart.text位于母版页上,而lstitems不是下拉列表。 它是一个空的隐形列表,我用来存储项目,然后我调用文本框,因为列表框不提供文本包装。

2 个答案:

答案 0 :(得分:2)

如@ashish所述,你不能在会话变量中“存储代码”,因为没有这样的概念(我知道)。

但是,根据您的评论...

  

我需要存储它以便我可以从主页面调用它以在文本框中显示它根据我的知识,无法直接从列表框中调用值到内容页面的母版页并显示它们

你有很多选择:这里有几个......

首先是创建母版页的公共属性,例如......

Public Function DoThis(Byval lstItems as DropDownList) as String
  Dim result as string = ""
  For i As Integer = 0 To lstItems.Items.Count - 1
   result &= lstItems.Items.Item(i).ToString() & ""
  Next
  return result
End Function

然后在你的页面呼叫中......

CType(Page.Master, MyMasterPageType).DoThis(lstItems)

另一种选择是......

  • 使用方法
  • 创建一个类
  • 创建对象的实例
  • 将其存储在会话中
  • 从会话中访问对象并调用方法

答案 1 :(得分:1)

noooo你不能这样做..激情或视图状态对象只能存储变量值..