2011-12-07 12 views
2

の複雑なマークアップはasp:Repeaterで、マークアップはAlternatingItemTemplateでも同じです。私はマークアップを複製したくないです。これはリピータで可能ですか?同じマークアップを持つ方法は、RepeaterのItemTemplateとAlternatingItemTemplateで同じです - ASP.NET

私が作成しているリストはソート/編集/追加をサポートしていません。本質的にはアイテムのリストです。私はASP.NET 4.0を使用しているので、asp:Repeaterの代わりのコントロールを提案します(再度、あなたが提案したコントロールでマークアップを複製しません)。

ありがとう。

+1

それを完全にスキップしないでください。このようにして、奇数/偶数項目に対して同じ方法で表示される 'ItemTemplate'テンプレートは1つしか持てません。それらの間に違いはありますか? –

+0

ああ - 私は 'AlternatingItemTemplate'がオプションであることを知らなかった。多分私はそれを受け入れることができるようにあなたのコメントを追加する必要があります:) – DotnetDude

+0

ありがとう、私は答えとしてこれを追加します –

答えて

2

AlternatingItemTemplateを持ち、それを完全にスキップしない理由は何ですか?この方法で、奇数/偶数項目に対して同じ方法で表示されるItemTemplateは1つのテンプレートのみを持つことができます。それらの間に違いはありますか?

また、TRのためContainer.DataItemIndex(例えばCssStyle='<# Container.DataItemIndex % 2 == 0 ? "ItemStyle" : "AlternatingItemStyle"' #>

+0

また、リピータをさらに簡素化するCSSに完全にその作業を移動することができます:http:// www.w3.org/Style/Examples/007/evenodd.en.html – Tarwn

+0

いいです、私はそれを知らなかった:)それはIEでも動作しないようだ。 –

+0

IE7/8でサポートされていなかったバージョンのものかもしれないので、IEの古いユーザーにアップグレードするのを嫌っていない限り、運用サイトで使用するのは危険です。互換情報はこちら:http:// www .quirksmode.org/css/contents.html#CSS3(その場所のページについて) A List Apartには、JSメソッドを使って、さらに多くのブラウザで動作する良い記事があります – Tarwn

1

オプションのカップル:

  1. は、あなたが望むのマークアップでユーザーコントロールを作成し、行を表示する方法を決定しますブール型プロパティAltRowを追加します。

  2. javascript/jquery/CSSを使用して、代替の行のスタイルを実装し、AlternatingItemTemplateを完全に無視します。

1

インラインページのコードを利用することによりItemTemplateに実装することができます(別のCSSスタイルなど)奇数/偶数列の間に、単純な違いを覚えている:

クラスとテーブルの
<tr class="<%# (Container.ItemIndex % 2 == 0) ? "AltRowStyle" : "" %>"> 

CSSコード「caseTable」 `AlternatingItemTemplatを持って、その後理由を何

.caseTable tr.AltRowStyle td 
{ 
    background-color: #FAF8DC; 
} 
関連する問題