2010-09-24 23 views
1

我有是在頁面加載預填充文本框下面的Web窗體:進行更改預填充的文本框

<%@ 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函數時,即使我改變了文本框的值,它仍然是一樣的。如何將一個新的值輸入到文本框中,然後傳遞給函數?

回答

2

將該setter放在該頁面加載的If Not Ispostback中。它覆蓋了盒子。

+0

非常感謝Stackoverflowers,它做到了。請不要忘記頁面加載。我總是假設這些值在頁面重新加載並覆蓋它們之前已經過去併發生了變化。 – kingrichard2005 2010-09-24 20:58:56