0

私は ASP.Net 2.0 以来の Databound コントロールの大ファンであり、それらを学習して以来、それらを頻繁に使用してきましたが、これらのコントロールが持っているように見える、見過ごされた (またはむしろ気にかけられていない) 問題に出くわしたようです。

私はASP.Net 3.5を使用していますが、データコントロール(データリスト、グリッドビューなど)内でデータバインドコントロール(ラベル、ハイパーリンクなど)を使用すると、値が1つの列に返されたとしてもであるNULL場合、空のタグとして表示されますが、引き続きレンダリングされます。

例: 私は を持ってDatalistLabelますNULL。値が でない場合は問題ありませんNULLが、問題は値が の場合ですNULL。理想的には、値を持たないコントロールに対して HTML をレンダリングするべきではありませんが、この場合、<span></span>対応する値を持つコントロールの HTML (ラベルの場合)NULLは引き続きレンダリングされます。

さて、先に言ったように、大した問題ではないので、ほとんどの人はこれを気にしませんが、このコントロールが親コントロールの階層に囲まれ、何度も繰り返される可能性があるという事実を考慮すると、 、これにより、HTML コンテンツが大幅に増加する可能性があります (HTML コンテンツの ID は親コントロールに基づいているため) テキスト/HTML の比率を維持するためにテキストを追加しないと、検索エンジンがページのインデックス作成をためらう原因になります。完全に。

この件に関連するものは他に見当たりませんでしたので、ここで取り上げることにしました。これは本当にデータバインドされたコントロールの問題ですか、それともここで何か不足していますか?

ヘルプはいつでも大歓迎です。

4

1 に答える 1

1

はい、それは理にかなっています。コントロールは自動的に非表示にならないためです。コンテンツがなくても、Visible="False" を使用して明示的に非表示にする必要があります。これは、データバインドされたコントロールとデータバインドされていないコントロールの両方と一致しています。コンテンツがないときにマークアップを除外すると、特にページで JavaScript が使用されている場合、アプリケーションが混乱する可能性があります。

HTH。

于 2011-02-28T16:41:29.147 に答える