views:

22

answers:

1

I have the following webform with textboxes that are pre-populated on page load:

<%@ Page Title="" Language="VB" MasterPageFile="~/default.master" AutoEventWireup="true" CodeFile="admin.aspx.vb" Inherits="admin" Theme="G2M" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
        <form id="form1" Runat="Server">
            <label>Username: </label>
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            <br />
            <label>Password: </label>
            <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
            <br />
            <label>Product Type: </label>
            <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
            <br />
            <label>SMTP Default Only: </label>
            <asp:TextBox ID="TextBox4" runat="server"></asp:TextBox>
            <br />
            <label>Logo: </label>
            <asp:TextBox ID="TextBox5" runat="server"></asp:TextBox>
            <br />
            <asp:Button ID="submit" Text="Submit changes" runat="server" OnClick="SubmitChanges" />
        </form>
</asp:Content>

And the codebehind is as follows:

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            Dim xmlDoc As New XmlDocument
            xmlDoc.Load(Server.MapPath("~/XML_Config/Config.xml"))
            Dim configValues As XMLParser = New XMLParser(xmlDoc) ''Instantiate the XMLParser

            ''Populate textboxes with XML data
            TextBox1.Text = configValues.UserName
            TextBox2.Text = configValues.Password
            TextBox3.Text = configValues.ProductType
            TextBox4.Text = configValues.SMTPDefaultOnly
            TextBox5.Text = configValues.Logo
        End Sub

Public Sub SubmitChanges(ByVal sender As Object, ByVal e As System.EventArgs)
        Dim xmlDoc As New XmlDocument
        xmlDoc.Load(Server.MapPath("~/XML_Config/Config.xml"))
        Dim configValues As XMLParser = New XMLParser(xmlDoc) ''Instantiate the XMLParser

         configValues.SMTPDefaultOnly = TextBox4.Text
    End Sub

All I'm trying to do is make the values editable so when the form is presented to the user, they can change the values and submit them back to the file. My problem is that when the SubmitChanges function is called, even though I change the value of the textbox, it is still the same. How do I pass a new value, typed into thetextbox, to the function?

+1  A: 

Enclose your setter in If Not ispostback in that page load. It's overwriting the boxes.

Nikki9696
Thanks very much fellow Stackoverflowers, that did it. Keep forgetting about the page load. I always assume the values are past and changed before the Page reloads and overwrites them.
kingrichard2005