在做一个简单的论坛,用的是gridview显示论坛的帖子列表(没有编辑模板),想在gridview上显示帖子的标题,作者名称等,我希望在点击帖子标题的时候进入这个帖子页面(获取这个帖子的id,然后当做请求字符串传到帖子页面),代码如下:     <Columns>
                     <asp:HyperLinkField HeaderText="主题" DataNavigateUrlFields="title"
                        DataNavigateUrlFormatString="BBSArticle.aspx?threadid={0}" Target="mainframe" NavigateUrl="~/BBSArticle.aspx"
                        DataTextField="title" SortExpression="title">
                         <ControlStyle CssClass="BBSColumns" />
                     </asp:HyperLinkField>
                     <asp:HyperLinkField HeaderText="作者" Text="姓名" DataNavigateUrlFields="author"
                        DataNavigateUrlFormatString="Default6.aspx?GoodsID={0}" Target="mainframe" NavigateUrl="~/Default2.aspx"
                        DataTextField="author" SortExpression="author">
                         <ControlStyle CssClass="BBSColumns" />
                     </asp:HyperLinkField>
 </Columns>
DataNavigateUrlFormatString="BBSArticle.aspx?threadid={0},这个是将threadid等于了文章的题目,但是题目不是帖子的唯一id,请问在这里如何将threadid=帖子id呢?threadid={0},我想是不是可以将两个数据项绑定在这个列上面,然后只显示文章的标题,然后 threadid={1}???????

解决方案 »

  1.   

    或者是不是可用在后台设置DataNavigateUrlFormatString呢??
      

  2.   

    因为我想如果DataNavigateUrlFormatString="BBSArticle.aspx?threadid={0},那是不是有个
    DataNavigateUrlFormatString="BBSArticle.aspx?threadid={1}呢??
      

  3.   

    使用模板列
    <a href=""></a>
    或protected void GridView1_RowDataBound(object sender,GridViewRowEventArgs e)
    {
    HyperLink tmp=e.Row.Cells[0].Controls[0] as HyperLink;
    tmp.NavigateUrl="a.aspx?Id=变量1&id2=变量2";
    }  
    NavigateUrl=' <%# String.Format("a.aspx?id={0}&id2={1}",Eval("ID"),Eval("ID"))%>' 
      

  4.   

    DataNavigateUrlFormatString="Default6.aspx?GoodsID={0}&amp;id={1}"  DataNavigateUrlFields="author,ID"
      

  5.   

    DataNavigateUrlFormatString=""  用这个处理下看看