我想把datagrid的前两列(a ,b)的值传到另一页上,我把第一列设成超链接列,URL字符串写成
webform1.aspx?a={0},   把第二列也设成超链接列,URL字符串写成webform1.aspx?b={1},结果生成datagrid时就出错了,提示:索引必须大于或等于零,且小于参数列表的大小。
我该怎么做呢,是否只设一个超链列,URL字符串写成 webform1.aspx?a={0}b={1},还是怎么写? a={0}与b={1}之间用逗号还是&还是没东西?请大家指教,我刚学ASP.NET.

解决方案 »

  1.   

    好象是...楼主试试.
    string.Formate("webform1.aspx?a={0}&b={1}",DataBinder.Eval(DataItem,"newsid"),DataBinder.Eval(DataItem,"newsid2"),););
      

  2.   

    string.Formate("webform1.aspx?a={0}&b={1}",DataBinder.Eval(DataItem,"newsid"),DataBinder.Eval(DataItem,"newsid2"));
      

  3.   

    不好意思,上面的有问题.下面的测试通过.
    <asp:TemplateColumn>
    <ItemTemplate>
    <asp:LinkButton ID="lbtnDel" Runat="server" Text="删除" CommandName="Delete"></asp:LinkButton>
    <%# string.Format("aaa.aspx?id={0}&tt={1}",DataBinder.Eval(Container.DataItem,"News_id"),DataBinder.Eval(Container.DataItem,"News_id"))%>
    </ItemTemplate>
    </asp:TemplateColumn>
      

  4.   

    webform1.aspx?a={0}&b={1}  与  webform1.aspx?a=0&b=1都不行,仍提示索引必须大于或等于零,且小于参数列表的大小 adandelion(猪头) 的代码,我不知加在哪,我用的是VS2003中的C#,HTML中的代码如下<asp:DataGrid id="DataGrid1" style="Z-INDEX: 101; LEFT: 40px; POSITION: absolute; TOP: 224px"
    runat="server" Width="761px" Height="224px" BorderColor="#3366CC" BorderStyle="None" BorderWidth="1px"
    BackColor="White" CellPadding="4" AutoGenerateColumns="False">
    <SelectedItemStyle Font-Bold="True" ForeColor="#CCFF99" BackColor="#009999"></SelectedItemStyle>
    <ItemStyle ForeColor="#003399" BackColor="White"></ItemStyle>
    <HeaderStyle Font-Bold="True" ForeColor="#CCCCFF" BackColor="#003399"></HeaderStyle>
    <FooterStyle ForeColor="#003399" BackColor="#99CCCC"></FooterStyle>
    <Columns>
    <asp:HyperLinkColumn DataNavigateUrlField="a" DataNavigateUrlFormatString="webform1.aspx?a={0}" DataTextField="a"></asp:HyperLinkColumn>
    <asp:BoundColumn DataField="b"></asp:BoundColumn>
    <asp:BoundColumn DataField="c"></asp:BoundColumn>
    <asp:BoundColumn DataField="d"></asp:BoundColumn>
    </Columns>
    <PagerStyle HorizontalAlign="Left" ForeColor="#003399" BackColor="#99CCCC" Mode="NumericPages"></PagerStyle>
    </asp:DataGrid>
    根本找不到(猪头)的<asp:TemplateColumn>
    <ItemTemplate>
    我怎么才能在点击第一列链接列时把我点击的行的第一列a的内容和第二列b的内容传到webform1上去?
    以前一直用VB,现在学C#,感觉步步唯坚,一点小问题都费半天劲。
      

  5.   

    <asp:HyperLinkColumn DataNavigateUrlField="a" DataNavigateUrlFormatString="webform1.aspx?a={0}" DataTextField="a"></asp:HyperLinkColumn>
    --------------------------------------------------
    替换为
    <asp:TemplateColumn>
    <ItemTemplate>
    <asp:HyperLink ID="lkEdit" Runat="server" text='<%# DataBinder.Eval(Container.DataItem,"a")%>' NavigateUrl='<%# string.Format("aaa.aspx?id={0}&tt={1}",DataBinder.Eval(Container.DataItem,"a"),DataBinder.Eval(Container.DataItem,"b"))%>'>
    </asp:HyperLink>
    </ItemTemplate>
    </asp:TemplateColumn>
      

  6.   

    或:
    <asp:TemplateColumn>
    <ItemTemplate>
    <asp:HyperLink ID="lkEdit" Runat="server" text='<%# DataBinder.Eval(Container.DataItem,"a")%>' NavigateUrl='<%# "aaa.aspx?id="+DataBinder.Eval(Container.DataItem,"a")+"&tt="+DataBinder.Eval(Container.DataItem,"b")%>'>
    </asp:HyperLink>
    </ItemTemplate>
    </asp:TemplateColumn>