aspx文件里有:
<asp:textbox id="aname" runat="server" Width="133px" CssClass="txtfld"></asp:textbox>
<asp:button id="saveBtn" text=" 保 存 " cssclass="Button1" runat=server/> 
<asp:Label Text="<br><br>!" id="Debug_message"  style="color:Red;" visible=false runat="server"/>
其值在Page_Load里从数据库里取出并填入该textbox(假如是'aaa',修改了textbox里的值后(比如改为'bbb'),然后按“保存”按钮
cs文件里有:
protected System.Web.UI.WebControls.TextBox aname;
protected System.Web.UI.WebControls.Label Debug_message;
protected void Page_Load(object sender, EventArgs e)
{
    aname.Text='aaa';
}void saveBtn_Click(Object Src,  EventArgs E)
{
     Debug_message.Text="<br>"+aname.Text;//这里还是aaa???
}
按了保存按钮后,aname.Text为什么还是原来的值"aaa"而不是"bbb"?请各位大虾看看。说明下,保存后还是显示同一个页面,只是页面元素用修改后的值填写。

解决方案 »

  1.   

    Debug_message.Text="<br>"+aname.Text;
    这样写?
      

  2.   

    词不达意!你说你用"bbb"替换了"aaa",可是代码是永远都是的"aaa"。
      

  3.   

    既然是事件驱动的,按了"保存"按钮后aname.Text应该是修改后的值"bbb"呀?上面只是比方,page_load里aname.Text='aaa';这里aaa是从数据库里取出的,上面那个save_Btn_Click里少了句Debug_message.Visible=true;只是调试方便之用。
      

  4.   

    尝试在Page_Load中先判断 if ( IsPostBack) 如果是PostBack的就不再将“aaa”赋给aname.Text属性。
      

  5.   

    修改后的值还是存入数据库,页面显示的总是从数据库里取出的值,比如aaa改为bbb后,就要将bbb显示在页面上,再问下,page_load这个事件,在按了saveBtn后还是显示该也,显示时page_load还是要触发的吧?不管是否IsPostBack都要从数据库里取数据显示。
      

  6.   

    看来楼主对IsPostBack不太理解.
      

  7.   

    解决,就是IsPostBack的问题,理解有误。谢谢诸位、各位、在齐位!!!