<asp:TemplateColumn>
<ItemTemplate>
<asp:HyperLink id=hlMod runat="server" Text="编辑" Target="_self" NavigateUrl='<%# DataBinder.Eval(Container, "DataItem.CompactNo", "compactAdd.aspx?billno={0}") %>'></asp:HyperLink>
</ItemTemplate>
</asp:TemplateColumn>上面的代码是DataGrid 中的一模板列,作用就是点击列的HyperLink跳转到另外一个页面compactAdd.aspx
现在我想再从本页传到compactAdd.aspx页面加两个参数值 即compactAdd.aspx?billno={0}&date1='"+txtDateBegin.Text+"'&date2='"+txtDateEnd.Text+"' 其中txtDateBegin,txtDateEnd是此页面中的两TextBox控件<asp:TemplateColumn> <ItemTemplate>
<asp:HyperLink id=hlMod runat="server" Text="编辑" Target="_self" NavigateUrl='<%# DataBinder.Eval(Container, "DataItem.CompactNo", "compactAdd.aspx?billno={0}&date1='"+txtDateBegin.Text+"'&date2='"+txtDateEnd.Text+"'") %>'></asp:HyperLink>
</ItemTemplate>
</asp:TemplateColumn>这样看来不行,用Session我想可以实现,但用这种页面值传递如何实现,JS?大侠帮忙

解决方案 »

  1.   

    Session办法:
     private void Button1_Click
            (object sender, System.EventArgs e)
            {
                    //textbox1 and textbox2 are webform
                    //controls
                    Session["name"]=TextBox1.Text;
                    Session["email"]=TextBox2.Text;
                    Server.Transfer("anotherwebform.aspx");
            }
            目标页面代码:
            private void Page_Load
            (object sender, System.EventArgs e)
            {
                    Label1.Text=Session["name"].ToString();
                    Label2.Text=Session["email"].ToString();
                    Session.Remove("name");
                    Session.Remove("email");
            }
      

  2.   

    加 CommandName="cm_ok" 
    然后取得点击事件
    以后Response.Redirect ("") 你要的值在这里加上
      

  3.   

    哦,现在我不想用Session方式,感觉有点浪费资源
    还是想用第一种传参数方法 现在的问题是
    compactAdd.aspx?billno={0}&date1='"+txtDateBegin.Text+"'&date2='"+txtDateEnd.Text+"'
    这样不行的,如何加以改正的问题
      

  4.   

    呵呵HyperLink没有CommandName属性
      

  5.   

    .net 2.0 有个page.previouspage可以调用
    另外可以用context.item。
      

  6.   

    Response.Redirect("compactAdd.aspx?date1="+((HyperLink)this.DataGrid1.Items[i].FindControl("HyperLink1")).Text);
      

  7.   

    DATAGRID  只能在绑定传值
    如果你想要两个,只有在数据为里面做手脚,如: 你想传ID,SEX两个数据字段:
    id=id&xingbie=sex