1

HTMLTEXTWRITER を使用して HTML ファイルを動的に作成しています。ブラウザで表示できますが、この HTML を iframe で表示しようとすると、何も表示されません! 動的に生成されたhtmlの何が問題になっていますか? また、iframe は Firefox で一部の HTML を表示しません。HTML の作成方法は次のとおりです。

static string GetDivElements()
    {
        // Initialize StringWriter instance.
        StringWriter stringWriter = new StringWriter();

        // Put HtmlTextWriter in using block because it needs to call Dispose.
        using (HtmlTextWriter writer = new HtmlTextWriter(stringWriter))
        {
            // Loop over some strings.
            foreach (var word in _words)
            {
                // Some strings for the attributes.
                string classValue = "ClassName";
                string urlValue = "http://www.dotnetperls.com/";
                string imageValue = "image.jpg";

                // The important part:
                writer.AddAttribute(HtmlTextWriterAttribute.Class, classValue);
                writer.RenderBeginTag(HtmlTextWriterTag.Div); // Begin #1
...my html
                writer.RenderBeginTag(HtmlTextWriterTag.Img); // Begin #3
                writer.RenderEndTag(); // End #3

                writer.Write(word);

                writer.RenderEndTag(); // End #2
                writer.RenderEndTag(); // End #1
            }
        }
        // Return the result.

        string pre = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">";
        pre += "<html xmlns=\"http://www.w3.org/1999/xhtml\"><head>";
        pre += "<meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\"><title></title></head><body>";

        return stringWriter.ToString();// +"</body></html>";
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        using (StreamWriter outfile =
        new StreamWriter(@"d:\myFile.htm"))
        {
            outfile.Write(GetDivElements());
        }
    }
4

0 に答える 0