无法在页面重新加载时反映数据集或dataadapter中的更改

时间:2012-09-15 16:33:35

标签: asp.net vb.net visual-studio-2010 visual-studio-2008 dataadapter

我的代码有什么问题?

代码工作正常但是当我在表格中输入新记录并刷新页面时,更改将不会反映出来......

我感到困惑的是什么问题......

 Protected Sub Page_PreInit(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreInit
        Dim ds As New DataSet()
        Dim connStr As String = "Data Source=DOBRIYAL-PC;Initial Catalog=MenuDb;Integrated Security=True"
        Using conn As New SqlConnection(connStr)
            Dim sql As String = "Select MenuID, Text, Description, ParentID from Menu"
            Dim da As New SqlDataAdapter(sql, conn)
            da.Fill(ds)
            da.Dispose()
            da.AcceptChangesDuringFill = True
        End Using
        ds.DataSetName = "Menus"
        ds.Tables(0).TableName = "Menu"
        ds.GetChanges()
        Dim relation As New DataRelation("ParentChild", ds.Tables("Menu").Columns("MenuID"), ds.Tables("Menu").Columns("ParentID"), True)

        relation.Nested = True
        ds.Relations.Add(relation)
        XmlDataSource1.Data = ds.GetXml()

        If Request.Params("Sel") IsNot Nothing Then
            Page.Controls.Add(New System.Web.UI.LiteralControl("You selected " + Request.Params("Sel")))
        End If
        XmlDataSource1.DataBind()
        RadMenu1.DataBind()
    End Sub

1 个答案:

答案 0 :(得分:0)

I have refatored your source code now you should see your new records on page load

Private Sub BindData()
    Dim ds As New DataSet()
    Dim connStr As String = "Data Source=DOBRIYAL-PC;Initial Catalog=MenuDb;Integrated Security=True"
    Using conn As New SqlConnection(connStr)
        Dim sql As String = "Select MenuID, Text, Description, ParentID from Menu"
        Dim da As New SqlDataAdapter(sql, conn)
        da.Fill(ds)
        da.Dispose()
        da.AcceptChangesDuringFill = True
    End Using
    ds.DataSetName = "Menus"
    ds.Tables(0).TableName = "Menu"
    ds.GetChanges()
    Dim relation As New DataRelation("ParentChild", ds.Tables("Menu").Columns("MenuID"), ds.Tables("Menu").Columns("ParentID"), True)

    relation.Nested = True
    ds.Relations.Add(relation)
    XmlDataSource1.Data = ds.GetXml()

    If Request.Params("Sel") IsNot Nothing Then
        Page.Controls.Add(New System.Web.UI.LiteralControl("You selected " + Request.Params("Sel")))
    End If
    XmlDataSource1.DataBind()
    RadMenu1.DataBind()
End Sub


  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
 Me.BindData()
End Sub