写法如下:
<asp:HyperLinkColumn Target="mainFrame" DataNavigateUrlField="typeid" DataNavigateUrlFormatString='testRight.aspx?sid=<%=Request["sjid"]%>&sttype={0}' DataTextField="stType" HeaderText="试题类型">
<HeaderStyle Width="100%"></HeaderStyle>
</asp:HyperLinkColumn>其中Request["sjid"]是上一页传来的参数值.以上写法得到的结果是:
http://qiaoqiao/testsys/testRight.aspx?sid=<%=Request["sjid"]%>&sttype=4可是我想得到如下的结果:
http://qiaoqiao/testsys/testRight.aspx?sid=1&sttype=4请问上面的DataNavigateUrlFormatString应该怎么写呢?

解决方案 »

  1.   

    DataNavigateUrlFormatString='testRight.aspx?sid=' + <%=Request["sjid"]%> + '&sttype={0}'
      

  2.   

    不行哦!有错误:
    分析器错误
    “System.Web.UI.WebControls.DataGridColumnCollection”内不允许包含文字内容(“<asp:HyperLinkColumn Target="mainFrame" DataNavigateUrlField="typeid" DataNavigateUrlFormatString='testRight.aspx?sjid='+”)。源错误: 行 107:<asp:HyperLinkColumn Target="mainFrame" DataNavigateUrlField="typeid" DataNavigateUrlFormatString='testRight.aspx?sjid='+<%=Request["sjid"]%>+'&sttype={0}' DataTextField="stType" HeaderText="试题类型">
      

  3.   

    DataNavigateUrlFormatString内貌似只能传一个参数
      

  4.   

    超奇怪哦!我把它写成:
    DataNavigateUrlFormatString='testRight.aspx?sid=<%# Request["sjid"] %>&sttype={0}'
    结果在testRight.aspx页面出现错误: 未将对象引用设置到对象的实例。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误: 
    行 30:  this.Label2.Text = Request["sttype"].ToString();
     
    没改之前还好好的,没有错误,而且sttype里面有值,但sjid里没有值.
     
      

  5.   

    利用Session搞定了,不过能这样写更好了.