ASPの等価性:GridViewのためのHiddenField
-
23-08-2019 - |
質問
何のASPはありません:私はこれに似て働くだろうかと思ったので、GridViewのに使用することができますのHiddenField
。これを望むための私の推論は、私がOnRowCommandをトリガーButtonFieldを持っています。そこから私は、選択された行を見つけ出すことができますが、私は(DataTextField経由)にバインドされたデータを見るためにButtonFieldからテキスト値を取得することはできません。
これを私のソリューションは、私がすでに選択された行を知っていたことから、BoundFieldを持っているだけではなく、そこからテキスト値を取得することでした。これは働いていたが、私はそれを非表示にする必要があります。
誰かがTemplateField内にネストのHiddenFieldを使用して提案し、私はそれのHiddenFieldからテキスト値を取得するトラブルがありました。 HiddenFieldのテキスト値を取得するためにTemplateField内のコントロールにアクセスするためのいくつかの方法がありますか?
誰もが同様に素晴らしいことだ代替のための任意の提案を持っている場合。
おかげで、
マット
解決
あなたは DataKeyNamesを使用することができますGridViewの上のプロパティます。
gridView.DataKeyNames = { "values", "you", "want "};
と、あなたは、このようにそれらにアクセスすることができます:
gridView.DataKeys[rowId].Values["value"];
他のヒント
あなたはレコード/行のIDに等しいcommandArgumentでテンプレートのフィールドを使用することができます。
<ItemTemplate>
<asp:Button ID="Button1" runat="server" CausesValidation="false"
CommandName="SomeCommand" Text="Button" CommandArgument='<%# Eval("SomeID") %'></asp:LinkButton>
</ItemTemplate>
次に、行コマンドハンドリングイベントであなたがe.CommandArgumentでその値を取得することができます。
は、レコード(行)のためのユニークな代表として、他のIDの列を追加することができますか?その特定のIDの欄には、スタイルを設定することができます。それを隠すために=なし、ディスプレイ、まだIDは、HTMLフォーム内にある
。、その後、あなたはさらに処理するために、その特定のID列の値を取得することができます。
これが役に立てば幸い、
ハディ