Gridview * BoundFields * をTemplateFields with Labelsに変更すると、重大なパフォーマンスの問題がありますか? (以下のコードの抜粋を参照してください)
コードの保守をより簡単にするために、グリッドビュー フィールドに関する多くの要件の変更により、上記の変更を実装する予定です。フィールドを再配置するだけであれば、コードの変更は少なくて済みます。
BoundFields を使用すると、セル インデックスのすべての発生を追跡するように細心の注意を払う必要があるため、エラーが発生しやすくなります。特に、どこからでもアクセスできる多くのフィールドを持つ Gridview の場合。
ヘルプ/アドバイスをいただければ幸いです。
前もって感謝します。
ラベル:
ページ上:
<asp:TemplateField HeaderText="Field1">
<ItemTemplate>
<asp:Label ID="lblField1" runat="server" Text='<%# Eval("Field1")%>' />
</ItemTemplate>
</asp:TemplateField>
コード内:
Label lblField1 = row.FindControl("lblField1") as Label;
if (lblField1 != null) { string field1 = lblField1.Text; }
バウンドフィールド:
ページ上:
<asp:BoundField DataField="Field1" HeaderText="Field1" />
コード内:
string field1 = row.Cells[2].Text;