此问题我是第三次发贴了,我再datagrid中添加页面跳转多传参数问题时出现如下问题。
首先是代码:
(1)使用模板列
<ItemTemplate>
<asp:HyperLink id="HyperLink" runat="server" NavigateUrl='<%#"xbrdetail.aspx?xb="+DataBinder.Eval(Container.DataItem,"xb").ToString()+"type=1"%> '>fjlkajfla</asp:HyperLink>
</ItemTemplate>
(2)使用超连接列
<asp:HyperLinkColumn DataNavigateUrlField="xb" DataNavigateUrlFormatString="xbrdetail.aspx?xb={0}&type=1" DataTextField="主教材" HeaderText="主教材"></asp:HyperLinkColumn>  我最后在另外一个页面获取Request["xb"].ToString()时结果分别为“管理?type=1”和“管理系type=1”  用模板列的情况我已经参考过很多网友的意见,语法问题我认为没有,第二种情况我在之前的程序中用过,而且也看到书上有这种写法,所有应该两个出来的结果都是正确的,但是为什么会出现这种奇怪的结果呢,是否在我其他地方隐藏着什么错误呢,希望看到的高手再给予指点。急盼正确答案!

解决方案 »

  1.   

    说下我的做法  直接生成个<a ..> 后台可能读性,维护方便 <ItemTemplate><%# SetMail(((DataRowView)(Container.DataItem))["fMail"])%></ItemTemplate>
    后台:public string SetMail(object mail)
        {
            if (mail != DBNull.Value)
                return "<a href=\"mailto:" + (string)mail + "\"/>发邮件</a>";
            else
                return string.Empty;
        }
      

  2.   

    这编文章里有: http://10f0tdgko6ed8o8ta6s5.248886.com
      

  3.   

    我给你写一个吧:
    <asp:HyperLink ID="hp" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"au_lname") %>' NavigateUrl='<%# "mubiao.aspx?id="+DataBinder.Eval(Container.DataItem,"au_id")+"&&name="+DataBinder.Eval(Container.DataItem,"au_lname") %>' Target="_blank"></asp:HyperLink>目标页接值:
    if (!IsPostBack)
            {            string id="", name="";
                name = Request.QueryString["name"];
                id = Request.QueryString["id"];
                Response.Write(id+" "+name);
            }
      

  4.   

    重复帖?此问题,不是说过了迈?传中文, 要编码 Server.UrlEncode
      

  5.   

    终于可以开心的结贴了,谢谢zwwlovezy1(Eminem)和晓风残月不厌其烦的帮忙,这次采用两位的方法终于解决,问题出在&&上,我没有加所以两个参数没有分开,出现?的原因就是晓风残月提到的传中文要用.ServerUrlEncode,再次感谢,加分了!