2

HTMLテーブルの生成に使用されるはずの文字列を作成します。テキストをHTMLとして表示することはできませんが、プレーンテキストとして書き込むだけです。

ここで文字列を作成します。StringBuilderHTMLTable=new StringBuilder();

    HTMLTable.AppendLine("<html>");
    HTMLTable.AppendLine("<head>");
    HTMLTable.AppendLine("<style type=\"text/css\">");
    HTMLTable.AppendLine("    .thd {background: rgb(220,220,220); font: bold 10pt Arial; text-align: center;}");
    HTMLTable.AppendLine("    .team {color: white; background: rgb(100,100,100); font: bold 10pt Arial; border-right: solid 2px black;}");
    HTMLTable.AppendLine("    .winner {color: white; background: rgb(60,60,60); font: bold 10pt Arial;}");
    HTMLTable.AppendLine("    .vs {font: bold 7pt Arial; border-right: solid 2px black;}");
    HTMLTable.AppendLine("    td, th {padding: 3px 15px; border-right: dotted 2px rgb(200,200,200); text-align: right;}");
    HTMLTable.AppendLine("    h1 {font: bold 14pt Arial; margin-top: 24pt;}");
    HTMLTable.AppendLine("</style>");
    HTMLTable.AppendLine("</head>");
    HTMLTable.AppendLine("</html>");

    HTMLTable.AppendLine("<body>");
    HTMLTable.AppendLine("<h1>Tournament Results</h1>");
    HTMLTable.AppendLine("<table border=\"0\" cellspacing=\"0\">");
    for (int row = 0; row <= max_rows; row++)
    {
        cumulative_matches = 0;
        HTMLTable.AppendLine("    <tr>");

//などなど。

次に、この文字列を.cshtmlファイルに関連付けられたビューバッグに追加します。私は次のようなことを試しました:

 <text>@ViewBag.bracketHTML</text>

しかし、それは機能しません。何か案は?

4

2 に答える 2

4

まず、@Zhihao の提案を受けて、HTML終了タグを修正する必要があります。

その後、これはあなたのために働くはずです:

まず、ビルダーの関数を使用して HTML の値をコントローラーToString()の のプロパティに設定します。ViewBag

var builder = new StringBuilder();
builder.AppendLine("<div>");
builder.AppendLine("Testing 123");
builder.AppendLine("</div>");

ViewBag.testing = builder.ToString();

次に、次を使用して印刷しますHtml.Raw()

@Html.Raw(ViewBag.testing)

うまくいきそうです!

于 2012-07-23T01:15:34.543 に答える
1

それを行うにはかなりの数の方法があります。あなたはどちらかでそれをすることができます

@(new HtmlString(ViewBag.bracketHTML)) 

またはあなたは使用することができます

@MvcHtmlString.Create(ViewBag.bracketHTML)

または、@Html.Rawを使用できます

@Html.Raw(ViewBag.bracketHTML)  
于 2012-07-23T09:02:17.413 に答える