写一下linkbutton的单击事件,直接跳转过去,传递一个参数就好了。在另一个页面做个查询,取数,绑定,显示。

解决方案 »

  1. //前台
    <asp:TemplateField ShowHeader="False" HeaderText="跳转">
         <ItemTemplate>
               <asp:LinkButton ID="lbltz" runat="server" Text="跳转" OnClick="lbltz_Click">/asp:LinkButton>
        </ItemTemplate>
    </asp:TemplateField>
    //后台
        protected void lblDelete_Click(object sender, EventArgs e)
        {
            LinkButton cb = sender as LinkButton;
            GridViewRow row = cb.NamingContainer as GridViewRow;
            int index = row.RowIndex;
            //test.aspx是你要跳转的页面,后面是你需要传递的参数,cmd传modify过去;DocId传递gv_Print.Rows[index].Cells[0].Text.ToString()
            base.Response.Redirect("test.aspx?cmd=modify&DocId=" + gv_Print.Rows[index].Cells[0].Text.ToString());
        }//test.aspx
    base.Request["DocId"].ToString()//通过接受
      

  2. 修改了一下//前台
    <asp:TemplateField ShowHeader="False" HeaderText="跳转">
         <ItemTemplate>
               <asp:LinkButton ID="lbltz" runat="server" Text="跳转" OnClick="lbltz_Click">/asp:LinkButton>
        </ItemTemplate>
    </asp:TemplateField>
    //后台
        protected void lbltz_Click(object sender, EventArgs e)
        {
            LinkButton cb = sender as LinkButton;
            GridViewRow row = cb.NamingContainer as GridViewRow;
            int index = row.RowIndex;
            //test.aspx是你要跳转的页面,后面是你需要传递的参数,cmd传modify过去;DocId传递gv_Print.Rows[index].Cells[0].Text.ToString()
            base.Response.Redirect("test.aspx?cmd=modify&DocId=" + gv_Print.Rows[index].Cells[0].Text.ToString());
        }
     
    //test.aspx
    base.Request["DocId"].ToString()//通过接受
      

  3. cmd和DocId分别表示什么,还有test.aspx中接受参数的语句写在哪里,直接用这个参数绑定照片和文本吗?
      

  4.  base.Response.Redirect("test.aspx?cmd=modify&DocId=" + gv_Print.Rows[index].Cells[0].Text.ToString());
      


  5. cmd和DocId就是相当于一个ID,base.Request["cmd"].ToString();base.Request["DocId"].ToString();取值。gv_Print是asp:GridView的ID。
      


  6. cmd和DocId就是相当于一个ID,base.Request["cmd"].ToString();base.Request["DocId"].ToString();取值。gv_Print是asp:GridView的ID。

    cmd和DocId就是相当于一个ID,base.Request["cmd"].ToString();base.Request["DocId"].ToString();取值。gv_Print是asp:GridView的ID。

    很感谢你,但是我还是没搞懂,那个test.aspx中怎么接受参数呢,上面你写的那个接受语句写在哪个地方呢,能说详细点吗?谢谢
      


  7. 把接受参数语句卸载test.aspx的Page_Load中就行了。小数据我喜欢用ViewState["DocId"] 存储; protected void Page_Load(object sender, EventArgs e)
        {
            if (!base.IsPostBack)
            {
                if (!string.IsNullOrEmpty(base.Request["DocId"]))
                {
                    ViewState["DocId"] = base.Request["DocId"].ToString();//值
                }
                string str = base.Request["cmd"];
                if (str != null)
                {
                    if (!(str == "add"))
                    {
                        if (!(str == "modify"))
                        {
                            return;//操作
                        }
                    }
                }
            }
        }
      

  8. 看3楼的代码
    Response.Redirect("test.aspx?test1=123&test2=234");  
    test1 和test2是参数,123 和 234 分别是他们的值,参数名称是你随便起的,如果你是多个参数就用“&”这个符号链接,如果是一个参数,直接写test.aspx?test1=123 就行了你用Response.Redirect 跳转到了test.aspx页面
    那么在test.aspx页面接受参数就要用
    string sss= Request.QueryString("test1 ");
    这时候 sss得到的值就是你传过来的123
      

  9. 页面间传值有好几种方式,常用的有GET POST。还有ASP.NET内置的几种传值方式,Session,Cookie,Hidden(算是HTML的),Server
      

类似问题 »