我需要将以下代码存储在asp会话对象或视图状态中。
For i As Integer = 0 To lstItems.Items.Count - 1
txtcart.Text &= lstItems.Items.Item(i).ToString() & ""
Next
我在 ASP.Net 网站的内容页面上有此代码。我需要从母版页访问它,以便可以将其打印到母版页上的文本框中。
控件 txtCart.text 位于母版页上,而 lstitems 不是下拉列表。它是一个空的不可见列表,我用来存储项目,然后我调用文本框,因为列表框不提供文本换行。
如@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)
另一种选择是...
- 使用方法创建类
- 创建对象的实例
- 将其存储在会话中
- 从会话访问对象并调用该方法
你不能那样做。会话或视图状态对象只能存储变量值。