1

我正在使用 HtmlTextWriter 为我创建一些 HTML。我想测试我的页面是否真的有效,但它没有呈现 div。

使用系统;使用 System.Collections.Generic;使用 System.Web;使用 System.Web.UI;使用 System.Web.UI.WebControls;使用 System.IO;

public partial class web_content_notes_Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        /* Configuration Start */
        string thumb_directory = "img/thumbs";
        string orig_directory = "img/original";
        int stage_width = 600;
        int stage_height = 480;
        Random random = new Random();

        // array of allowed file type extensions
        string[] allowed_types = { "bmp", "gif", "png", "jpg", "jpeg", "doc", "xls" };

        /* Opening the thumbnail directory and looping through all the thumbs: */
        foreach (string file in Directory.GetFiles(thumb_directory))
        {
            string title = Path.GetFileNameWithoutExtension(file);
            if (allowed_types.Equals(Path.GetExtension(file)) == true)
            {
                int left = random.Next(0, stage_width);
                int top = random.Next(0, 400);
                int rotation = random.Next(-40, -40);

                if ((top > stage_height - 130) && (left > stage_width - 230))
                {
                    top -= 120 + 130;
                    left -= 230;
                }


            }

            //display the files in the directory in a label for testing
            Label1.Text = (file);

            StringWriter stringWriter = new StringWriter();

            // Put HtmlTextWriter in using block because it needs to call Dispose.
            using (HtmlTextWriter writer = new HtmlTextWriter(stringWriter))

                // The important part:
                writer.Write("<div>testing123</div>");

        }

    }
}

我想将各种变量添加到 div 中。

我该怎么做呢?我记得在经典的 asp/vbscript 中,您必须在<% code %>不确定 ASP.NET / C# 中是否是这种情况下包装代码

4

1 回答 1

2

我想测试我的页面是否真的有效,但它没有呈现 div。

好吧,不,它不会。看看你在做什么:

StringWriter stringWriter = new StringWriter();
using (HtmlTextWriter writer = new HtmlTextWriter(stringWriter))
    writer.Write("<div>testing123</div>");

所以,你正在写一个StringWriter. 然后你对那个字符串编写器什么都不做文本在内存中,你让它被垃圾收集,基本上。

如果要写入Page的响应,则必须将结果写入Page.Response. 但是您应该决定是要控制请求的整个Page响应(在这种情况下可能不太合适)还是只控制一个控件,在这种情况下您可能应该将代码放在自定义控件中

于 2012-04-22T12:02:48.573 回答