asp.net コントロールの style 属性で DataBinder.Eval() を使用する
-
26-09-2019 - |
質問
複数のリンク ボタンをレンダリングする asp.net リピーター コントロール内に asp.net リンクボタンがあります。すべてのリンクボタンのスタイルを動的に設定したいと考えています。
私はしようとしています
style="color:#6D7B8D;font-size:<%# DataBinder.Eval(Container.DataItem, "Title")%>;"
しかし、「サーバータグの形式が正しくありません」というエラーが発生します。
何か案は?
解決
私の理解では、属性にサーバー タグを使用するには、そのサーバー タグを属性に使用する必要があると考えています。 全体 属性値。これを次のように変更してみてください。
style='<%# "color:#6D7B8D;font-size:" + DataBinder.Eval(Container.DataItem, "Title") + ";" %>'
C# コードでサーバー タグの間でスタイル属性全体がどのように構築されているかに注目してください。
他のヒント
次のように書きます。
style='color:#6D7B8D;font-size:<%# DataBinder.Eval(Container.DataItem, "Title")%>;'
スタイルを二重引用符ではなく一重引用符で囲む
取り除く
<%# Databinder.Eval(Container.DataItem, "Title") %>
に:
Text='<%# Databinder.Eval(Container.DataItem, "Title") %>'
フォント サイズをカスタマイズするために、その中で trenary 演算子を使用することもできます。
style='<%# "color:#6D7B8D;font-size:"Convert.ToInt32(DataBinder.Eval(Container.DataItem, "fontSize"))<5?"40":"30");" %>'
所属していません StackOverflow