求助一个页面实现两个功能!
主页面index.aspx
增加,修改的页面edit.aspx主页面中有2个Button,增加和修改按钮
我在主页面中定义了修改按钮事件:
   int id = Convert.ToInt32(GridView1.DataKeys[e.NewEditIndex][0].ToString());
        Response.Redirect("fjxx_edit.aspx?id=" + id);把当前页面GridView控件中Id获取并且传递到edit.aspx页面。而edit.aspx页面我则定义了
   int id = Convert.ToInt32(Request.QueryString["id"].ToString());
            Session["id"] = id;用来接收index.asp修改按钮事件传递过来的Id。
但是杯具了。
index.aspx增加事件的定义:
    Response.Redirect("edit.aspx");
直接跳转到edit.aspx页面但是edit.aspx页面出现了错误!未将对象引用设置到对象的实例。 
行 21:         if (!IsPostBack)
行 22:         {
行 23:             int id = Convert.ToInt32(Request.QueryString["id"].ToString());行 24:             Session["id"] = id;
行 25:             List<Houses> list = bll.select_edit(id);
这个错误我理解,是因为edit.aspx这个页面定义的Id找不到,因为我在增加按钮事件中并没有传递Id过来求实现!

解决方案 »

  1.   

    在每一行后加一个连接,<a href="edit.aspx?id=<%#Eval("id")%>">编辑</a>
    OK了,选我答案吧
      

  2.   


    这个达不到效果。
    因为index.aspx页面的修改按钮事件中获取了一个控件的id。
    而edit.aspx页面我在页面加载事件中定义了接受id的方法。
      

  3.   

    在主页面就可以用Session了啊,为什么到edit.aspx才用Session?
      

  4.   

    正在用Session试
    隐藏控件用不到。
      

  5.   

    根据回传id判断呗 ,然后切换控件我都是一个页面4个功能的.通过url参数切换控件demo.aspx 默认为列表分页显示    可以是demo.aspx?page=x (切换到分页列表panel控件)
    demo.aspx?action=add 添加的页面 
    demo.aspx?action=edit&id=x  编辑的页面
    demo.aspx?action=show&id=x  查看单条记录的页面(切换到显示内容的控件panel)其中add和edit共用一个表单 panel控件,当有id回传参数时候赋值表单内的控件值.
      

  6.   

    最好还是搞两个页面,我看,
    以前我也搞一个页面,但是发现没省多少事情,反而增加
    你必须判断request。querystring["id"]是不是null,
    还有其他的等等。
      

  7.   

    FomrView就可以的。判断传入的参数值来改变它的模板状态
    MSDN: ChangeMode()方法
      

  8.   


    =======
    FormView  最近老打错字,唉。。
      

  9.   

    判断下有没有id传过去啊  有id传过去的话就是修改了  绑定数据 没有id的话就是添加  就不绑定数据啊 
    简单的啊 
    if(request.query["id"]!=null)
    {
    修改
    }
    else
    {
    添加
    }
      

  10.   

    我认为好方法是传一参数,比如说action="add" 表示添加;action="update"中修改,这样做会思路会清晰一些.
      

  11.   

    在index页面用Session保存ID以及是否是增加和修改的,
    第2个页面根据这个判断就可以了
    Session["ID"]=1;
    Session["IsAdd"]=false;在edit页面根据IsAdd的Key判断是增加还是修改,判断前先判断是否为null