2012-04-22 86 views
1

我正在使用HtmlTextWriter为我创建一些HTML。我想测试我的页面是否可以正常工作,但它不能渲染div。HtmlTextWriter不会呈现

using System; using System.Collections.Generic; using System.Web; using System.Web.UI; using 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#的情况下

回答

2

我想测试,如果我的页面的实际工作,但它不呈现DIV。

不,不会。看看你在做什么:

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

所以,你写信给StringWriter。你正在做没有与该字符串作家:文本是在内存中,你让它得到垃圾回收,基本上。

如果您想写入Page的回复,您必须将结果写入Page.Response。但是您应该决定是否要控制请求的响应的整个 - 在这种情况下Page可能不是非常合适 - 或者只是一个控件,在这种情况下,您应该将代码置于自定义控制

+0

噢好吧,所以我有不需要的代码? – 2012-04-22 12:03:58

+0

@ sp-1986:那么你的代码不是*有用*。看我的编辑。 – 2012-04-22 12:05:03

+0

乔恩我看你是一位作家。我也看到你的书有5 *条评论。 – 2012-04-22 12:05:31