aspx如下:<asp:TemplateColumn SortExpression="NBR_ITEM_ID" HeaderText="Nabors Item #">
<ItemTemplate>
<input id ="hNbrItemId" value = '<%# DataBinder.Eval(Container, "DataItem.NBR_ITEM_ID") %>'>

</ItemTemplate>
</asp:TemplateColumn>cs如下:
HtmlInputHidden nin = (HtmlInputHidden)e.Item.Cells[5].FindControl("hSupplier");可nin里老都去不到值,叶面是去能显示出来,到底怎么回事啊?

解决方案 »

  1.   

    HtmlInputHidden nin = (HtmlInputHidden)e.Item.Cells[5].FindControl("hSupplier");
    这个hSupplier必须是服务器控件才行
    你把这个改为:
    <input id ="hNbrItemId" runat="server" value = '<%# DataBinder.Eval(Container, "DataItem.NBR_ITEM_ID") %>'>
      

  2.   

    HtmlInputHidden nin = (HtmlInputHidden)e.Item.Cells[5].FindControl("hSupplier");里说明你要找的控件ID为hSupplier.
    但我在你的Html代码中看到的
    <input id ="hNbrItemId" value = '<%# DataBinder.Eval(Container, "DataItem.NBR_ITEM_ID") %>'>
    的ID是“hNbrItemId"呢,两个ID不一样,如何找?
    而且如楼上所说,在CS里要找到Html控件,要加上runat="server"