2012-03-14 9 views
1

GridViewにTemplate Columnがあります。テンプレート列の中に私はasp:hiddenfieldを持っています。私は私がづけしないhiddenfiの値にアクセスしようとしていますmethod.When評価()を使用して値を結合してい視界偽 ASPXGridViewテンプレートの列のhiddenfield値は、可視性がfalseの場合は常に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> 

CODE BEHIND

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

コードを追加できますか? –

+0

@ Mansoor Gee: - 私はhiddenfieldの値にアクセスしようとしていますが、常にnullです。 –

答えて

1

この列にvisibility = "false"を設定すると、 htmlを生成しないので、隠されたコントロールはありません。 hiddenfieldを別の場所に置くか、代わりにCSS /スタイルで列を非表示にする必要があります。

+0

: - 返信していただきありがとうございます... aspを使用して同じものを取得できるかどうか:ラベルコントロール? –

+0

どういう意味ですか?ラベルはdivタグに変換され、何も戻されません。 –

+0

テンプル欄の中にラベルを追加しました。視認性はfalseです。これで、テキストはMaster_Idにバインドされます。次に、row_commandのテキスト値を取得しています。 –

0

あなたはできますが次のように試してみてください:

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) 
{ 

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