【问题标题】:Making changes to a pre-populated textbox对预先填充的文本框进行更改
【发布时间】:2010-09-24 20:38:09
【问题描述】:

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

<%@ 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 函数时,即使我更改了文本框的值,它仍然是一样的。如何将输入到文本框中的新值传递给函数?

【问题讨论】:

    标签: asp.net web-applications webforms


    【解决方案1】:

    在该页面加载中将您的设置器包含在 If Not ispostback 中。它正在覆盖这些框。

    【讨论】:

    • 非常感谢 Stackoverflowers 的同事,他们做到了。不断忘记页面加载。我总是假设这些值在页面重新加载并覆盖它们之前已经过去并改变了。
    猜你喜欢
    • 2011-11-07
    • 1970-01-01
    • 1970-01-01
    • 2015-09-29
    • 2017-10-21
    • 2010-09-19
    • 1970-01-01
    • 2014-10-05
    相关资源
    最近更新 更多