För att spara värden mellan postbacks kan du använda ViewState. Så här ungefär:
ViewState["namn"] = mittDataset;
// hämta sedan med
mittDataset = (DataSet)ViewState["namn"]
2 svar · 304 visningar · startad av it99isv
Hejsan !
Jag vill kunna lagra värden som en jag skickar
via en submitknapp. När jag klickar på knappen så
kommer det jag fyllt i i textboxar att visas i en
datagrid, vill jag fylla i en gång till så försvinner
föregående information, den skrivs alltså över.
Hur göra för att lagra värden ?
Koden ser ut så här, men fungerar inte;
Imports System.Web.UI.WebControls
Imports System.Data
Imports System.IO
Imports System.Text
Public Class WebForm1
Inherits System.Web.UI.Page
Protected WithEvents lbldatum As System.Web.UI.WebControls.Label
Protected WithEvents lblstarttid As System.Web.UI.WebControls.Label
Protected WithEvents lblsluttid As System.Web.UI.WebControls.Label
Protected WithEvents lblaktivitet As System.Web.UI.WebControls.Label
Protected WithEvents lblort As System.Web.UI.WebControls.Label
Protected WithEvents datum As TextBox
Protected WithEvents starttid As System.Web.UI.WebControls.TextBox
Protected WithEvents sluttid As System.Web.UI.WebControls.TextBox
Protected WithEvents aktivitet As System.Web.UI.WebControls.DropDownList
Protected WithEvents ort As System.Web.UI.WebControls.TextBox
Protected WithEvents submitButton As System.Web.UI.WebControls.Button
Protected WithEvents clearButton As System.Web.UI.WebControls.Button
Protected WithEvents dataGrid As System.Web.UI.WebControls.DataGrid
Protected WithEvents dataView As System.Data.DataView
Protected array As ArrayList = New ArrayList(1)
'Private array1 As String
'Protected WithEvents txtConsole As System.Web.UI.WebControls.TextBox
Dim pos As Integer = 0
#Region " Web Form Designer Generated Code "
' This call is required by the Web Form Designer.
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
End Sub
' event handler for the Init event
Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: This method call is required by the Web Form Designer
'Do not modify it using the code editor.
InitializeComponent()
End Sub
#End Region
Private Sub Page_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
'Put user code to initialize the page here
dataView = New DataView(New DataTable())
End Sub
' clear text boxes; user can enter new input
Private Sub clearButton_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles clearButton.Click
datum.Text = ""
'starttid.Text = ""
'sluttid.Text = ""
'aktivitet.SelectedItem.Text = ""
'ort.Text = ""
End Sub ' clearButton_Click
Public Sub FillMessageTable(ByVal var)
Dim table As New DataTable()
Dim reader As StringReader
Dim separator As Char()
Dim message As String
Dim parts As String()
Dim iCounter As Integer
'Dim iFirstValue As Integer = 0
'Dim iIncrement As Integer = 0
table = dataView.Table
table.Columns.Add("Datum")
table.Columns.Add("Starttid")
table.Columns.Add("Sluttid")
table.Columns.Add("Aktivitet")
table.Columns.Add("Ort")
For iCounter = 0 To pos 'Step iIncrement
reader = New StringReader(array.Item(iCounter))
'reader = New StringReader(var)
separator = New Char() {vbTab}
message = reader.ReadLine()
While message <> ""
'split String into four parts
parts = message.Split(separator)
' load data into table
table.LoadDataRow(parts, True)
message = reader.ReadLine()
End While
dataGrid.DataBind() ' update grid
Next iCounter
End Sub ' FillMessageTable
' add the user's entry to the guestbook
Private Sub submitButton_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles submitButton.Click
Dim var As String
Dim i As Integer
var = datum.Text
'array.Add(datum.Text)
array.Insert(pos, var)
pos = pos + 1
datum.Text = ""
'starttid.Text = ""
'sluttid.Text = ""
'aktivitet.SelectedItem.Text = ""
'ort.Text = ""
FillMessageTable(array)
End Sub ' submitButton_Click
End Class
Redigerat: Angav [kod] tagar för koden i detta inlägg /renholm
För att spara värden mellan postbacks kan du använda ViewState. Så här ungefär:
ViewState["namn"] = mittDataset;
// hämta sedan med
mittDataset = (DataSet)ViewState["namn"]
Tack
Tack renholm !
Det har jag provat, men jag gjorde arrayList shared istället och
då fungerade allting galant.