私はListViewのLayoutTemplateのコントロールにユーザーが選択した色とフォントサイズを適用できるようにしたいが、コードブロックを使用してスタイルを調整することはできません(コードブロックはItemTemplateで大きく機能します)。私は、コードブロックがLayoutTemplateで動作しない(そして最初に手に入る経験がない)という記事を読んだことがあります。誰かが私にスタイルを調整させる方法を持っていますか?一部のイベントハンドラでFindControl()を使用し、そこにスタイルを追加する必要がありますか?ASP.netのListview LayoutTemplateを動的にスタイルする方法
答えて
デザイン時に修正されていない、ユーザーがカスタマイズできるものは、適切なコントロールを見つけて残念なことにCSSクラスを変更することによってListViewに適用する必要があります。あるいは、ListView内の要素のクラスをターゲットとするCSSを動的に書き出し、純粋にCSSで色を変更することもできます。
EDIT:が動的に出力CSS、同じようLiteralControlの使用を検討するには:私は、その後のonload信じる
protected override void OnLoad(EventArgs e)
{
var profile = GetProfile();
LiteralControl ctl = new LiteralControl(@"
<style>
.UserStyleA
{
background-color: " + profile.BackgroundColor + @";
color: " + profile.ForeColor + @";
</style>");
}
、あなたはヘッダに追加することができ、何かのように:しかし
this.Page.Header.Controls.Add(ctl);
、 Page.headerプロパティのドキュメントを読む際には、スタイルシートを動的に追加するという素晴らしい例があります。それはまさにあなたが必要とするものと思われます。
http://msdn.microsoft.com/en-us/library/system.web.ui.page.header.aspx
明確にする:CSSClass属性を変更してスタイルを変更することをお勧めしますか?これは、あらゆる可能なサイズと色を扱うために膨大な数のCSSクラスの組み合わせが必要になることを意味します。また、:上記の属性をどこで変更するのですか? – Gio
はい、いいえ。はい、CssClass属性でクラスの名前を指定してください。しかし、いいえ、あらゆる可能なCSSクラスを定義するのではなく、ユーザー定義のスタイルで動的にCSSを生成します。 –
私はcssクラスを動的に生成したことはありません。任意のポインタまたはASP.netでこれを行う方法のリンク?どのような時点でこれらの変更を適用しますか? – Gio
あなたは、このような何かLayoutTemplate内のユーザーコントロールを配置し、ユーザーコントロールをとするロジックを移動してみてください可能性:アドバイスフォームブライアン・メインズ答えのみ使用をフォロー
<asp:ListView ID="CustomizableList" runat="server">
<LayoutTemplate>
<custom:UserStyles runat="server" />
<div class="user-list-layout">
<asp:PlaceHolder ID="Item" />
</div>
</LayoutTemplate>
<ItemTemplate>
<asp:Label ID="Something" runat="server"
Text='<%# Eval("Something") %>'
CssClass="user-list-something" />
</ItemTemplate>
</asp:ListView>
をCSSクラス。その後、UserStylesコントロールで、適用されるCSSを動的に生成することができます。
<style type="text/css" scoped>
.user-list-layout {
border-color: <%= Profile.FavoriteColor %>;
}
.user-list-something {
font-size: <%= Profile.PreferredFontSizeForSomething %>;
}
</style>
は<body>
に<style>
タグを追加すると、HTMLで許可されますが、すべての主要なブラウザで動作していないこと、しかし、注意してください。これはHTML5では許可されていますが、scoped
属性が設定されている場合にのみ可能です(詳しくはthis questionを参照してください)。
- 1. リストビューのヘッダーセルの数を動的に変更するLayoutTemplate
- 2. listviewのlayouttemplateでコントロールにアクセスするには?
- 3. 2つのアイテムプレースホルダが同じListView LayoutTemplateにありますか?
- 4. ListView列の数を動的に設定する方法
- 5. listview dividersを動的に非表示にする方法は?
- 6. gridviewをlistviewに動的に変換する方法は?
- 7. ユーザーコントロールで要素のスタイルを動的に設定する方法
- 8. ASP.NET 4.0 - 動的テーブルの生成とCssスタイルの動的アプリケーション
- 9. コンポーネントからボディにスタイルを動的に追加する方法
- 10. ASP.NET ListView交互のグループ
- 11. 動的アダプタラッパーのnotifyDataSetChanged/ListViewの問題を解決する方法
- 12. データバインディングでスタイルを動的に作成/変更する方法
- 13. GridViewセルを動的にスタイルする方法は?
- 14. 静的CGIスタイルのperlスクリプト(xxx.pl)を動的PSGIアプリケーションにする方法は?
- 15. 動的Cスタイルの配列を初期化する方法
- 16. asp.net MVCのラベルにデータを動的にバインドする方法
- 17. ラベルテキストのスペースをasp.netに動的に追加する方法
- 18. ListViewで動的データ(processNameとpid)を入力する方法は?
- 19. ASP.NET MVCのスタイル属性を動的に変更
- 20. 動的にasp.netでのgridviewを追加する方法C#
- 21. ASP.NET 5のログを自動的に削除する方法は?
- 22. vueJsで動的スタイルを使用する方法
- 23. 動的スタイルの変更方法が失敗する
- 24. バイトイメージをasp.netページに動的に表示する方法は?
- 25. asp.netでajax.Actionlinkにidを動的に設定する方法は?
- 26. Android ListViewを動的にロードする
- 27. ListViewを動的に表示する
- 28. スタイル前のコンポーネントでコンテンツの前に擬似を動的にレンダリングする方法
- 29. asp.net listview control - itemtemplateの動的列を使用
- 30. ListViewの動的イベントハンドラ?
これまでにどのコードを試しましたか? – MethodMan
奇数、偶数などの代わりにCSSセレクタを使用してください。 –
私はOPがコードの背後からEvalを使ってcssclassを変更しようとしていると思います。 – naveen