首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

GridView模版列e.Row.Cell[0].Text有关问题?

2012-02-06 
GridView模版列e.Row.Cell[0].Text问题???asp:TemplateField HeaderTextDeleteItemTemplateasp:La

GridView模版列e.Row.Cell[0].Text问题???
<asp:TemplateField HeaderText="Delete">
  <ItemTemplate>
  <asp:Label ID="LabelJobId" Text=<%#Eval("job_id")%> runat="server" />
  </ItemTemplate>
</asp:TemplateField>


protected void GridView1_RowDataBound ( object sender, GridViewRowEventArgs e )
  {
  string result = e.Row.Cell[0].Text;
  }

对于模版列,e.Row.Cell[0].Text为什么是空呢?
而对于<asp:BoundField>绑定列来说e.Row.Cell[0].Text是可以使用的,为什么?

[解决办法]
因为你已经用了 TemplateField 啊!

这表明GridView已不再存在第一列数据显示了。所以当前Text当然为空咯。
[解决办法]
用FindControl找到你需要的控件,然后取值
[解决办法]
string result = ((Label) e.Row.FindControl("LabelJobId")).Text; 

[解决办法]
e.Row.Cell[1].Text
你换成1试一试 应该是1有值
[解决办法]
((DataBoundLiteralControl)grid.Rows[i].Cells[3].Text

protected void GridView1_RowDataBound ( object sender, GridViewRowEventArgs e ) 

string result = ((DataBoundLiteralControl)e.Rows[1].Cells[3].Text } 

摸版列
[解决办法]
((DataBoundLiteralControl)grid.Rows[i].Cells[3].Controls[0]).Text 

[解决办法]

C# code
Label LabelJobId= GridViewList.Rows[i].Cells[0].FindControl("LabelJobId") as Label;string   result   =LabelJobId.Text; 

热点排行