7

私はすでにこれについて質問しましたが、私はそれを間違って言いました。

GetRandColor()サーバー上にオブジェクトを返すメソッドがありSystem.Drawing.Colorます。

私が欲しいのは、ページの読み込み時にこれを使用してhtml属性を設定できるようにすることです。例として、

<html>
<body bgcolor="#GetRandColor()">
<h1>Hello world!</h1>

</body>
</html>
4

5 に答える 5

18

System.Drawing.Colorブラウザはテキストしか理解できないため、関数からオブジェクトを返すことはできません。したがって、代わりに、色の文字列表現を返す必要があります。RGB、HEX形式、または何を使用するかを指定してください。

その場合、メソッドは次のようになります。

 protected string GetRandColor()
 {
     return ColorTranslator.ToHtml(Color.Red);
 }

また、フォームの背景を次のように設定できます。

<body style="background-color:<%=GetRandColor()%>;">
于 2013-01-09T05:50:00.237 に答える
2

GetRandColor() が静的クラスにある場合、これは機能するはずです。

<body bgcolor="<%= System.Drawing.ColorTranslator.ToHtml(ClassName.GetRandColor()) %>">

クラス名の前にクラスの名前空間を追加する必要がある場合があります。

于 2013-01-09T05:43:38.100 に答える
2

インライン式の助けを借りてそれを行うことができます: .NET Framework のインライン式

式の表示 (<%= ... %>)

bgcolor="<%= System.Drawing.ColorTranslator.ToHtml(GetRandColor()) %>"
于 2013-01-09T05:51:20.587 に答える
1

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

于 2013-01-09T06:03:09.970 に答える
0
public string GetRandHtmlColor(){

    System.Drawing.Color c = GetRandColor();
    return System.Drawing.ColorTranslator.ToHtml(c);
}
于 2013-01-09T05:41:35.753 に答える