2012-03-14 52 views
1

我有GridView模板Column.Inside模板列中我有asp:hiddenfield。我结合使用method.When我试图访问hiddenfi的价值不入店的eval()的值,而知名度假 ASPXGridView模板列的隐藏字段值始终为0,而​​可见性为假

<asp:TemplateField HeaderText="Select" Visible="false"> 
     <ItemTemplate> 
      <asp:HiddenField ID="hdnMasterId" runat="server" 
       Value='<%# DataBinder.Eval(Container.DataItem, "Master_Id") %>' /> 
      <asp:CheckBox ID="chkDelete" runat="server" /> 
     </ItemTemplate> 
     <ItemStyle Width="4%" HorizontalAlign="Center"></ItemStyle> 
      <HeaderStyle HorizontalAlign="Center" /> 
    </asp:TemplateField> 

后面的代码

protected void gdvList_RowCommand(object sender, GridViewCommandEventArgs e) 
{ 
    int intIndex = Convert.ToInt32(e.CommandArgument); 
    GridViewRow row = gdvList.Rows[intIndex]; 
    HiddenField hdn = (HiddenField)row.FindControl("hdnMasterId"); 
} 
+0

你可以添加你的代码吗? – 2012-03-14 06:10:37

+0

@ Mansoor Gee: - 当我试图访问hiddenfield值时,它始终为空。 – 2012-03-14 11:07:31

回答

1

如果它赢得了列设置可见=“假”不生成任何HTML,因此不会有隐藏的控制。您需要将隐藏的字段放在其他位置,或者使用css/style隐藏该列。

+0

: - 感谢您的回复...是否可以通过使用asp:Label控件获取相同内容? – 2012-03-14 07:12:51

+0

你是什么意思?标签将转换为div标签,不会发回任何内容。 – 2012-03-14 09:54:43

+0

我在templete列中添加了一个标签,它的可见性为false,现在将文本与row_command中的Master_Id.Now绑定,我正在获取文本值。 – 2012-03-14 11:16:15

0

你可以尝试为:

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) 
{ 

string strValue = ((HiddenField)GridView1.SelectedRow.Cells[cellindex].FindControl("HiddenFieldID")).Value; 
}