<asp:DataGrid showheader=false ID="pro_list" Align="center"
<columns>
<asp:TemplateColumn ItemStyle-Width="9">
<ItemTemplate>
<asp:Image id="Image2" ImageUrl="images/arrow07-4.gif" ImageAlign="AbsMiddle" runat="server" Width="9" Height="22"></asp:Image>
</ItemTemplate>
</asp:TemplateColumn>
<asp:HyperLinkColumn DataTextField="name" DataNavigateUrlField="id"
                                                                                   ↑
                                                                       id是要传递的变量
 DataNavigateUrlFormatString="pro_list.aspx?id={0}" HeaderText ="题目"></asp:HyperLinkColumn>
</columns>
</asp:DataGrid>现在我想传递两个变量,这里应该怎么写呀?(我写成DataNavigateUrlField="id,name"报错)

解决方案 »

  1.   

    乱套了,重写一遍
    <asp:DataGrid showheader=false ID="pro_list" Align="center">
    <columns>
    <asp:TemplateColumn ItemStyle-Width="9">
    <ItemTemplate>
    <asp:Image id="Image2" ImageUrl="images/arrow07-4.gif" ImageAlign="AbsMiddle" runat="server" Width="9" Height="22"></asp:Image>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:HyperLinkColumn DataTextField="name" DataNavigateUrlField="id" DataNavigateUrlFormatString="pro_list.aspx?id={0}" HeaderText ="题目"></asp:HyperLinkColumn>
    </columns>
    </asp:DataGrid>
      

  2.   

    传递两个参数时,不能用这种方式,可以使用<itemtemplate></itemplate>方式
      

  3.   

    做成TemplateColumn列吧
    还剩事
      

  4.   

    <asp:TemplateColumn ItemStyle-Width="9">
    <ItemTemplate>
    <a href="pro_list.aspx?id=<%# id%>&name=<%# name%>"><%#题目%></a>
    </ItemTemplate>
      

  5.   

    1:可以采用BindColumn,在后台去更改每行的URL链接
    2:可以采用TemplateColumn,在后台动态创建HyperLink控件到每个栏位,并且为该HyperLink的URL属性设置相应的值
      

  6.   

    对用模板列例子:<ITEMTEMPLATE>
    <A href='../PostsView.aspx?Topic_ID=<%# DataBinder.Eval(Container, "DataItem.Topic_ID")%>&amp;Forum_ID=<%# DataBinder.Eval(Container, "DataItem.ForumID")%>' ><asp:label id="Topic" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.Post_Topic") %>'>