私はここで明白な何かを見逃していると確信しています。
私は約20のデータバインドされたGridViewを持っており、それぞれがいくつかの共通の機能を共有しています。それらがすべて人のリストであり、すべてがホバーなどを備えた複雑なリンクボタンである約10列で始まるとしましょう。それらはすべて同じです。非常に幅の広いこれらのグリッドの残りの部分は、完全に異なる列で構成されています。複製されるのは(約100の)最初の10列だけです。
したがって、これらの10個のデータベース列を処理し、10個のEval()ステートメントなどを使用してそのhtmlをレンダリングするこのコードのチャンクがあります。これは各GridViewで同じコードであり、20回繰り返され、明らかにクールではありません。
列ヘッダーなどを実行するためにGridViewが必要なため、ユーザーコントロールやカスタムコントロールにそれをチャックすることはできません。もちろん、1つの列にユーザーコントロールを配置して、必要なすべてをそのようにレンダリングすることはできます( "eval"はそのようにネストされて機能します)が、複雑な列ヘッダーは表示されません。
それが問題です:テンプレート化されたGridViewコントロールから抜け出して、この繰り返されるコードを抽象化する方法はありますか?テキストを実際に繰り返す必要があるので、サーバーサイドインクルードまたは前処理されたものがほとんど必要ですが、asp.netがコンパイルを試みる前にそれを行う必要があります。カスタムコントロールを使用して、好きなHTMLをレンダリングできますが、HTMLではなくasp.netコードを生成する必要があるため、問題は解決しません。