0

我需要将以下代码存储在 asp 会话对象或视图状态中。

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

    Next

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

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

4

2 回答 2

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)

另一种选择是...

  • 使用该方法创建一个类
  • 创建对象的实例
  • 将其存储在会话中
  • 从会话中访问对象并调用方法
于 2012-12-12T16:28:57.873 回答
1

不,你不能这样做..会话或视图状态对象只能存储变量值..

于 2012-12-12T16:24:47.673 回答