对预先填充的文本框进行更改

时间:2010-09-24 20:38:09

标签: asp.net web-applications webforms

我有以下webform,其中包含在页面加载时预先填充的文本框:

<%@ 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>

代码隐藏如下:

    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

我所要做的就是让值可编辑,这样当表单呈现给用户时,他们可以更改值并将它们提交回文件。我的问题是,当调用SubmitChanges函数时,即使我更改了文本框的值,它仍然是相同的。如何将输入文本框的新值传递给函数?

1 个答案:

答案 0 :(得分:2)

将您的setter包含在该页面加载中的If Not ispostback中。它覆盖了盒子。