补充:我没有表述清楚,就是第二次最后加载的时候isposback还是true,重新加载,存不住控件的值,而用其他控件就没有此问题!

解决方案 »

  1.   

    isposback是判断是否正在向客户端发送信息.你点imagebutton返回时肯定执行一次page_load啊.
    你在page_load中要加上if(!Page.IsPostBack)//从客户端返回
    {}
    else//返回客户端
    {}而且要检查你的<%@ Page%>指令中是否禁止了ViewState
      

  2.   

    <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>Untitled Page</title>
        <script language="javascript">
        function test()
        {
            debugger
             document.getElementById("Button1").click();
        }
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:TextBox ID="TextBox1" runat="server"> </asp:TextBox>
            <asp:ImageButton ID="ImageButton1"  OnClientClick="return test()" runat="server" />
            <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
        </div>
        </form>
    </body>
    </html>using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;public partial class _Default : System.Web.UI.Page 
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            { 
                //string sss = TextBox1.Text;
            }
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            TextBox1.Text = "ok";
        }
    }
    </body>
    </html>
      

  3.   

    qiuming0306 ,我解决出来了,你粘上来的程序一点毛病没有,你重新建个环境,或重新编译下,就好了,这种毛病经常是由于控件的属性误用造成的,如background,bgcolor的误用。