C# asp.net应用程序中的文本值未更改

C# asp.net应用程序中的文本值未更改,c#,html,asp.net,.net,webforms,C#,Html,Asp.net,.net,Webforms,我有一个asp.net应用程序,其中有以下视图: <%@ Page Title="" Language="C#" MasterPageFile="~/Espace_Candidat/SousCandidat.master" AutoEventWireup="true" CodeBehind="InfoEdition.aspx.cs" Inherits="OummaWork.Espace_Candidat.InfoEdition" %> <asp:Content ID="Cont

我有一个asp.net应用程序,其中有以下视图:

<%@ Page Title="" Language="C#" MasterPageFile="~/Espace_Candidat/SousCandidat.master" AutoEventWireup="true" CodeBehind="InfoEdition.aspx.cs" Inherits="OummaWork.Espace_Candidat.InfoEdition" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ChildContent2" runat="server">
  <div class="divpere">
                <div class="divfille1">
                    <label>NOM (*)</label>
                </div>
                <div class="divfille2">
                    <asp:TextBox ID="nom"  Text ="First value" class="input-xlarge" runat="server" />
                    <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ErrorMessage="RequiredFieldValidator" ControlToValidate="nom" Text="Champ obligatoire" ForeColor="Red"></asp:RequiredFieldValidator>
                </div>
            </div>
 <br />
            <br />
            <br />
            <div class="divpere">
                <div class="divfille1"></div>
                <div class="divfille2">
                    <asp:Button Style="color: #FFFFFF; background-color: #B81C22; margin-left: 73%" runat="server" ID="btn" Text="Modifier mes informations" OnClick="Valider" />
                </div>
            </div>
 </div>
</asp:Content>
我的问题是,即使我更改了输入的文本,我也始终将Nom的值作为“第一个值”

  • 为什么会发生这种情况
  • 我如何解决这个问题

您在加载页面中初始化值

99%您没有在iPostBack中将其包围

这意味着每次加载页面时都会重新初始化该值

但是,在按钮提交后,页面也会在回调时加载

您需要将其放入页面加载:

if(!IsPostBack)
{
    //initialize nom here;

}

这将确保nom仅在首次加载页面时初始化,而不是每次单击按钮时都初始化。是否通过客户端脚本更改nom的值?是否在加载页面时更改nom的值,我没有,我刚刚输入了一个新的值,所以你唯一接触nom的地方是clientside和Valider?那么我有答案了
if(!IsPostBack)
{
    //initialize nom here;

}