http://vonfry.name/_RES/RES.aspx这是网页地址,没有连数据库,所以……登录什么全是幌子,可以无视。第一次点击“登录”后,进行界面。当完成“上传”或是其它操作后,就自动退回了有“登录”的div,然后……最主要的是,两个top,我的定位应该是一样的,但是,出来却是有偏移的……下面是CS的代码,网页代码,从上面的页面可以直接查到的…………using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;public partial class _RES_RES : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        //For hidden
        GrayBack.Style.Add("display", "none");
        LogView.Style.Add("display", "none");
        RegView.Style.Add("display", "none");
        UploadView.Style.Add("display", "none");
        Top2.Style.Add("display", "none");
        Top1.Style.Add("display", "");
    }
    protected void b_Login_Click(object sender, ImageClickEventArgs e)
    {
        //show hidden
        GrayBack.Style.Add("display", "");
        LogView.Style.Add("display", "");
    }
    protected void b_Regist_Click(object sender, ImageClickEventArgs e)
    {    
        //show hidden
        GrayBack.Style.Add("display", "");
        RegView.Style.Add("display", "");
    }
    protected void b_Cancel_Click(object sender, ImageClickEventArgs e)
    {
        LogView.Style.Add("display", "none");
        RegView.Style.Add("display", "none");
        UploadView.Style.Add("display", "none");
        GrayBack.Style.Add("display", "none");
    }
    protected void b_LogRight_Click(object sender, ImageClickEventArgs e)
    {
        
        bool isLog;
        isLog = true;
        if (isLog)
        {
            Response.Write("<script>alert('Login Successed')</script>");
            GrayBack.Style.Add("display", "none");
            LogView.Style.Add("display", "none");
            Top1.Style.Add("display", "none");
            Top2.Style.Add("display", "");
            //ADD:Top2 UserID(Textbox) Show
        }
        else
        {
            Response.Write("<script>alert('Login Failed')</script>");
        }
       
    }
    protected void b_RegRight_Click(object sender, ImageClickEventArgs e)
    {
        bool isReg;
        isReg = true;
        if (isReg)
        {
            Response.Write("<script>alert('Regist Successed')</script>");
            GrayBack.Style.Add("display", "none");
            RegView.Style.Add("display", "none");
        }
        else
        {
            Response.Write("<script>alert('Regist Failed')</script>");
        }
    }
    protected void b_UploadRight_Click(object sender, ImageClickEventArgs e)
    {
        bool isUpload;
        isUpload = true;
        if (isUpload)
        {
            Response.Write("<script>alert('Upload Successed')</script>");
            GrayBack.Style.Add("display", "none");
            UploadView.Style.Add("display", "none");
        }
        else
        {
            Response.Write("<script>alert('Upload Failed')</script>");
        }
    }
    protected void b_Upload_Click(object sender, ImageClickEventArgs e)
    {
        GrayBack.Style.Add("display", "");
        UploadView.Style.Add("display", "");
    }
    protected void b_Oneself_Click(object sender, ImageClickEventArgs e)
    {
    }
    protected void b_LogOut_Click(object sender, ImageClickEventArgs e)
    {
        Top2.Style.Add("display", "none");
        Top1.Style.Add("display", "");
    }
}

解决方案 »

  1.   

    Page_Load用page.ispostback一下。
    用控件的Visible属性来控制显示不是更好?
      

  2.   

    Response.Write("<script>alert('Upload Successed')</script>"); 
    换成
    this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "dd","<script>alert('Upload Successed')</script>"); 
      

  3.   


    if(!Page.IsPostBack)
    {
    //For hidden
            GrayBack.Style.Add("display", "none");
            LogView.Style.Add("display", "none");
            RegView.Style.Add("display", "none");
            UploadView.Style.Add("display", "none");
            Top2.Style.Add("display", "none");
            Top1.Style.Add("display", "");
    }
      

  4.   

    没有判断是否回发时执行代码 当每次点击服务端控件时都会执行Page_load里面的代码
      

  5.   


    本来是用Visible的……不过,一开始以为是因为DIV用Visible导致的问题,所以给换了
      

  6.   

    if(!IsPostBack){}判断是否回传执行...
      

  7.   

    asp.net的操作你注意观察,有刷新的,就代表回发了页面,你要像楼上说的用ispostback判断是否为回发,如果是回发就代表浏览器不是第一次访问这个页面,所以需要判断你在网页源码里可以看到,asp.net实际上生成了大量的js代码,就是这个原因,所以说asp入门门槛低,新手也可以来拖控件操作。