Solved

Modify record in xml from code behind on page load and unload events

Posted on 2009-04-06
2
298 Views
Last Modified: 2013-12-17
When my web page opens, I want it to modify a value in an xml file based on what's in its Page.Title, and when the page unloads, modify that value to "Not Broadcasting". I'm having a real hard time figuring this one out--I am going about this all wrong!  Is there an Expert here that can help?
--------###CODE BEHIND###--------
Dim hashTableData As New Hashtable
Dim strWebcastName As String
 
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not Page.IsPostBack Then
            'Reading xml file
            Dim doc As System.Xml.XmlDocument = New System.Xml.XmlDocument()
            doc.Load(Server.MapPath("~/App_Data/WebcastDemos.xml"))
            Dim list As System.Xml.XmlNodeList = doc.SelectNodes("Records/Record")
            For Each node As System.Xml.XmlNode In list
                hashTableData(node.Item("ID").FirstChild.Value) = node.Item("Data").FirstChild.Value
            Next
            ViewState("Records") = hashTableData
        End If
 
        ' we do this to avoid multiple cast
        Dim myTable As Hashtable = CType(ViewState("Records"), Hashtable)
    End Sub
 
    Protected Sub Page_LoadComplete(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.LoadComplete
        strWebcastName = Page.Title
        Me.ModifyRecord()
    End Sub
 
    Protected Sub Page_Unload(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Unload
        strWebcastName = "Not Broadcasting"
        Me.ModifyRecord()
    End Sub
 
    Private Sub ModifyRecord()
        Dim key As String = ViewState("HashKey")
 
        CType(ViewState("Records"), Hashtable)(key) = strWebcastName
 
        Dim doc As System.Xml.XmlDocument = New System.Xml.XmlDocument()
        doc.Load(Server.MapPath("~/App_Data/WebcastDemos.xml"))
 
        Dim myNode As System.Xml.XmlNode = doc.SelectSingleNode("Records/Record[ID='" & key & "']")
        myNode("Data").InnerText = strWebcastName
 
        doc.Save(Server.MapPath("~/App_Data/WebcastDemos.xml"))
    End Sub

Open in new window

0
Comment
Question by:John Account
2 Comments
 
LVL 11

Accepted Solution

by:
Anurag Agarwal earned 500 total points
ID: 24076543
Where you have set the value of ViewState("HashKey") ??
Anurag

0
 

Author Comment

by:John Account
ID: 24076855
I haven't. And I think the ViewState("HashKey") is completely unnecessary in this scenario, No? I mean, all I want to do is write to and modify a certain field in a certain record of the xml file, when opening the page, and then again when closing the page. So I shouldn't even need a ViewState, right? Just need a way to modify the value directly. Can you help?
0

Featured Post

Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

User art_snob (http://www.experts-exchange.com/M_6114203.html) encountered strange behavior of Android Web browser on his Mobile Web site. It took a while to find the true cause. It happens so, that the Android Web browser (at least up to OS ver. 2.…
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
Microsoft Active Directory, the widely used IT infrastructure, is known for its high risk of credential theft. The best way to test your Active Directory’s vulnerabilities to pass-the-ticket, pass-the-hash, privilege escalation, and malware attacks …
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …

839 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question