当前位置:  开发笔记 > 后端 > 正文

如何在回发上保持变量

如何解决《如何在回发上保持变量》经验,为你挑选了3个好方法。

我创建了一个单独的页面(代码在.vb后面)并创建了Public intFileID As Integer

在页面加载中,我检查查询字符串并在可用时分配它或设置intFileID = 0.

Public intFileID As Integer = 0

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If Not Page.IsPostBack Then
        If Not Request.QueryString("fileid") Is Nothing Then
            intFileID = CInt(Request.QueryString("fileid"))
        End If

        If intFileID > 0 Then
            GetFile(intFileID)
        End If
    End If
End Sub

Private Sub GetFile()
    'uses intFileID to retrieve the specific record from database and set's the various textbox.text
End Sub

"提交"按钮有一个单击事件,它根据intFileID变量的值插入或更新记录.我需要能够在回发上坚持这一价值,让一切顺利.

该页面只是在SQL数据库中插入或更新记录.我没有使用gridview,formview,detailsview或任何其他rad类型的对象,它自己持有键值,我不想使用它们中的任何一个.

如何在不在HTML中创建可能被更改的内容的情况下持久保存intFileID中设置的值.

[编辑]更改了Page_Load以使用ViewState来保存intFileID值

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If Not Page.IsPostBack Then
        If Not Request.QueryString("fileid") Is Nothing Then
            intFileID = CInt(Request.QueryString("fileid"))
        End If

        If intFileID > 0 Then
            GetFile(intFileID)
        End If

        ViewState("intFileID") = intFileID
    Else
        intFileID = ViewState("intFileID")
    End If
End Sub

jerhinesmith.. 43

正如其他人指出的那样,您可以将它存储在Session或ViewState中.如果它是特定于页面的,我喜欢将它存储在ViewState而不是Session中,但我不知道一种方法是否优先于另一种方法.

在VB中,您将在ViewState中存储项目,如:

ViewState(key) = value

并检索它像:

value = ViewState(key)


Kon.. 5

存储在:

会议

的ViewState

隐藏的输入


Mitchel Sell.. 5

只是总结一下上面说的话.

您可以使用Session,Viewstate或隐藏字段.

我个人更喜欢viewstate,因为它可以在Web场环境中工作,Session不会,它不会将它存储在等待用户的服务器上,最多可以删除20分钟,而且一般来说viewstate是页面的位置水平数据.

您可以使用隐藏字段,但用户可以更轻松地修改它.



1> jerhinesmith..:

正如其他人指出的那样,您可以将它存储在Session或ViewState中.如果它是特定于页面的,我喜欢将它存储在ViewState而不是Session中,但我不知道一种方法是否优先于另一种方法.

在VB中,您将在ViewState中存储项目,如:

ViewState(key) = value

并检索它像:

value = ViewState(key)



2> Kon..:

存储在:

会议

的ViewState

隐藏的输入



3> Mitchel Sell..:

只是总结一下上面说的话.

您可以使用Session,Viewstate或隐藏字段.

我个人更喜欢viewstate,因为它可以在Web场环境中工作,Session不会,它不会将它存储在等待用户的服务器上,最多可以删除20分钟,而且一般来说viewstate是页面的位置水平数据.

您可以使用隐藏字段,但用户可以更轻松地修改它.

推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有