如何在ItemDataBound事件中,取得模板列中的第N列的值

解决方案 »

  1.   

    e.Items.Cells[n-1].Text
    ========================================
    我的签名(2004年12月24日 11时23分33秒)
      

  2.   

    <asp:TemplateColumn>
    <ItemTemplate>
    <%# DataBinder.Eval(Container, "DataItem.SoftwareClassID") %>
    </ItemTemplate>
    </asp:TemplateColumn>如上的HTML里的我现在就是要取DataItem.SoftwareClassID的值,这是在到4列
    我在ItemDataBound事件中用如下语句得到的是空值
    e.Items.Cells[3].Text
    结果是空值
    请高手指点啊
      

  3.   

    就算是在模板页里加如下语句,在ItemDataBound事件中是取不到值的
    <EditItemTemplate>
    <asp:Lable runat="server" Text ='<%# DataBinder.Eval(Container, "DataItem.SoftwareClassID") %>' ID="ID_SoftwareClassID"></asp:Lable>
    </EditItemTemplate>
      

  4.   

    <EditItemTemplate>
    <asp:Lable runat="server" Text ='<%# DataBinder.Eval(Container, "DataItem.SoftwareClassID") %>' ID="ID_SoftwareClassID"></asp:Lable>
    </EditItemTemplate>取上面模板列的值:((Label)e.Items.Cells[模板列的索引值].Controls[0]).Text;
      

  5.   

    e.Items.Cells[n-1].Text//n取你模板列号。
    怎么会是空的呢
      

  6.   

    string lt= e.Items.Cells[3].Text;
    Response.Write(lt);
    Response.End();这样输入是空的
      

  7.   

    Sorry, 刚才错了,应该是 ((Label)e.Items.Cells[模板列的索引值].Controls[1]).Text;注意,这里 Controls 的索引改成 1 了。