asp.net – 如何在回发上保持变量

前端之家收集整理的这篇文章主要介绍了asp.net – 如何在回发上保持变量前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我创建了一个单独的页面(代码为.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,detailview或任何其他rad类型的对象,它自己仍然保留键值,我不想使用任何一个。

如何在intFileID中保留值集,而不会在HTML中创建可能会被更改的内容

[编辑]更改了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

解决方法

正如其他人所指出的,您可以将其存储在Session或ViewState中。如果是页面特定的,我喜欢将其存储在ViewState中而不是Session中,但是我不知道一个方法是否一般比其他方法更好。

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

ViewState(key) = value

并检索它像:

value = ViewState(key)
原文链接:https://www.f2er.com/aspnet/253190.html

猜你在找的asp.Net相关文章