私はすでにこれについて質問しましたが、私はそれを間違って言いました。
GetRandColor()
サーバー上にオブジェクトを返すメソッドがありSystem.Drawing.Color
ます。
私が欲しいのは、ページの読み込み時にこれを使用してhtml属性を設定できるようにすることです。例として、
<html>
<body bgcolor="#GetRandColor()">
<h1>Hello world!</h1>
</body>
</html>
System.Drawing.Color
ブラウザはテキストしか理解できないため、関数からオブジェクトを返すことはできません。したがって、代わりに、色の文字列表現を返す必要があります。RGB、HEX形式、または何を使用するかを指定してください。
その場合、メソッドは次のようになります。
protected string GetRandColor()
{
return ColorTranslator.ToHtml(Color.Red);
}
また、フォームの背景を次のように設定できます。
<body style="background-color:<%=GetRandColor()%>;">
GetRandColor() が静的クラスにある場合、これは機能するはずです。
<body bgcolor="<%= System.Drawing.ColorTranslator.ToHtml(ClassName.GetRandColor()) %>">
クラス名の前にクラスの名前空間を追加する必要がある場合があります。
インライン式の助けを借りてそれを行うことができます: .NET Framework のインライン式
式の表示 (<%= ... %>)
bgcolor="<%= System.Drawing.ColorTranslator.ToHtml(GetRandColor()) %>"
ColorTranslatorを使用して Drawing.Color を HTML カラー値に変換できます。例えば、
System.Drawing.Color c = System.Drawing.ColorTranslator.FromHtml("#F5F7F8");
String strHtmlColor = System.Drawing.ColorTranslator.ToHtml(c);
このリンクも役立ちます: msdn.microsoft.com/en-us/library/system.drawing.colortranslator.fromhtml.aspx
public string GetRandHtmlColor(){
System.Drawing.Color c = GetRandColor();
return System.Drawing.ColorTranslator.ToHtml(c);
}