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



我需要将以下代码存储在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)

另一种选择是...

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

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

最新更新