page_load里面判断这个参数是否为空,如果为空即是新增,如果不为空即为修改。

解决方案 »

  1.   


       protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                if (Request.QueryString["..."] != null)
                {
                    
                }        
            }
        }
      

  2.   

    为什么要这么做呢?
    你的页面放2个按钮就好了
    一个新增,一个更新
    然后在相应的Button事件里直接处理就好了。如果非要用这个标志,那页面也应该有一个标志位会提交
    取这个标志位提交的值判断就好比如页面有个hidden,新增时为0,更新时为1
    <asp:Hidden id="hidFlg" runat="server" />那在Page_Load里:
    if(hidFlg.Text == "1")
      更新
    else
      新增
      

  3.   

    楼上说的我都曾试过,比如调用页时同时传递须修改记录的ID值,编辑而的page_load()中用Request.QueryString["..."] 方式取值,并实例化对象,比如说EditCustomerEntity,并将信息显示在界面上,肯定是可行的.但问题是我保存时又须要重新初始化一个新的CustomerEntity,并将界面的用户修改后的值赋给它,并进行数据操作,而关键在于此页面上可能并不包含全部CustomerEntity的字段,新的CustomerEntity的某个字段(如:RecordDate,记录首次创建时间)需要继需用原来的EditCustomerEntity的字段值.由于保存时点击button时EditCustomerEntity为null了,哪我在保存还必须重新再执行一次Request.QueryString["..."] ,重新再初始化一次EditCustomerEntity.再将值赋给CustomerEntity.也就是说多增加了一次数据库的读操作.我想如果能缓存的话,能少一次数据库交互最好.不知大家还有什么好的建议.
      

  4.   

    protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                if (Request.QueryString["..."] != null)
                {
                    
                }        
            }
        }
      

  5.   

    WebForm是不保存状态的,这点和WinForm差别很大。
    要实现你说的功能,可以用ViewState保存对象。
      

  6.   

    1.可以把修改和新增页面分开做,这样你点前一页新增或修改按钮则链接到不同页面,这样不需要判断。
    2.如果按你说的修改和新增是同一个页面,就必须根据前一页传过来的参数做判断:
    在前一页的修改和新增事件里传参数:
    session["参数名"] = "add";   //新增事件
    session["参数名"] = "edit"     //修改事件
    protected void Page_Load(object sender, EventArgs e) 
        { 
            if (!Page.IsPostBack) 
            { 
                if (session["参数名"] == "add") 
                { 
                   ………… 
                }
                else if (session["参数名"] == "edit")  
                {
                   …………
                }       
            } 
        } 
      

  7.   

    你可以把要保存的变量存到ViewState中: 
    private string sKey
    {
    set{ViewState["Key"]=value;}
    get{return ViewState["Key"]==null?"":ViewState["Key"].ToString();}
    }
      

  8.   

    在page_Load里面接收参数的时候,
    if (!Page.IsPostBack)
    {
       要加在这里面!!!
    }