【问题标题】:Is it possible to store a For Next loop in an asp session object?是否可以在 asp 会话对象中存储 For Next 循环?
【发布时间】:2012-12-12 16:21:31
【问题描述】:

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

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

    Next

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

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

【问题讨论】:

  • 您在会话或视图状态中存储代码的目的是什么?
  • 我正在尝试存储我发布的 for 循环的代码。
  • 是的,我们知道了,但是为什么
  • 我不理解“存储代码”的概念...您可以存储对象,这些对象可能包含可以为您处理数据的方法/属性...但我根本不了解你想要什么
  • @Mario 我需要存储它,以便我可以从母版页调用它以将其显示在文本框中,据我所知,没有办法直接从列表框中调用值到母版页内容页面并显示它们

标签: asp.net vb.net session viewstate


【解决方案1】:

正如@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)

另一种选择是……

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

【讨论】:

  • 刚刚编辑了我的原始帖子以澄清它不是下拉列表
  • @Max,它是什么都没关系...我向您展示了一些能够调用代码的概念(无需将其“存储”在会话变量中)
  • 对不起,我对这一切有点愚蠢。我在 ASP.Net 方面没有经验,我已经尝试解决这个问题超过 3 个小时。我的头现在完全融化了。
【解决方案2】:

不,你不能这样做..session 或 viewstate 对象只能存储变量值..

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-03
    • 2020-11-27
    • 1970-01-01
    • 1970-01-01
    • 2020-09-21
    • 1970-01-01
    • 2017-12-26
    • 2023-03-07
    相关资源
    最近更新 更多