【问题标题】:how to append string in a HtmlTextWriter asp.net c# webform如何在 HtmlTextWriter asp.net c# webform 中附加字符串
【发布时间】:2014-02-08 10:41:18
【问题描述】:

假设我有一个像下面这样的函数,它将选项标签作为字符串返回。

 public static string writeDropDownOptionHTML(string tablename, string id_col, string value_col)
        {
            StringWriter stringwriter = new StringWriter();
            HtmlTextWriter writer = new HtmlTextWriter(stringwriter);
            DataTable dt1 = BAL.setDropDown(tablename, id_col, value_col);
            if (dt1.Rows.Count > 0)
            {
                foreach (DataRow row in dt1.Rows)
                {
                    writer.AddAttribute(HtmlTextWriterAttribute.Value, row[0].ToString());
                    writer.RenderBeginTag(HtmlTextWriterTag.Option);

                    writer.Write(row[1].ToString());
                    writer.RenderEndTag();
                }
            }

            return stringwriter.ToString();
        }

现在我有另一个功能,如下所示

public static string writeWalkReverseTableData(DataTable dt1)
        {
            StringWriter stringwriter = new StringWriter();
            HtmlTextWriter writer = new HtmlTextWriter(stringwriter);

            if (dt1.Rows.Count > 0)
            {
                foreach (DataRow row in dt1.Rows)
                {

                    writer.RenderBeginTag(HtmlTextWriterTag.Tr);
                    writer.RenderBeginTag(HtmlTextWriterTag.Td);
                    writer.RenderBeginTag(HtmlTextWriterTag.Select);
                    // now i want to call  writeDropDownOptionHTML which will return option html code
                    // writer += writeDropDownOptionHTML("xyz","abc","def"); 
                    writer.RenderEndTag();
                    writer.RenderEndTag();
                    writer.RenderEndTag();
                }
            }
            return stringwriter.ToString();
        }

如何在 HtmlTextWriter 中追加字符串?

【问题讨论】:

    标签: c# asp.net webforms htmltextwriter


    【解决方案1】:

    我不太熟悉使用HtmlTextWriter,但根据msdn,你应该可以做到

    writer.Write(writeDropDownOptionHTML("xyz","abc","def"));
    

    【讨论】:

      【解决方案2】:

      我会将 writer 作为参数从 writeWalkReverseTableData 传递给 writeDropDownOptionHTML,如下所示:

          public static void writeDropDownOptionHTML(HtmlTextWriter writer, string tablename, string id_col, string value_col)
                  {
                      DataTable dt1 = BAL.setDropDown(tablename, id_col, value_col);
                      if (dt1.Rows.Count > 0)
                      {
                          foreach (DataRow row in dt1.Rows)
                          {
                              writer.AddAttribute(HtmlTextWriterAttribute.Value, row[0].ToString());
                              writer.RenderBeginTag(HtmlTextWriterTag.Option);
      
                              writer.Write(row[1].ToString());
                              writer.RenderEndTag();
                          }
                      }
                  }
      
      public static string writeWalkReverseTableData(DataTable dt1)
              {
                  StringWriter stringwriter = new StringWriter();
                  HtmlTextWriter writer = new HtmlTextWriter(stringwriter);
      
                  if (dt1.Rows.Count > 0)
                  {
                      foreach (DataRow row in dt1.Rows)
                      {
      
                          writer.RenderBeginTag(HtmlTextWriterTag.Tr);
                          writer.RenderBeginTag(HtmlTextWriterTag.Td);
                          writer.RenderBeginTag(HtmlTextWriterTag.Select);
                          writeDropDownOptionHTML(writer, "xyz","abc","def"); 
                          writer.RenderEndTag();
                          writer.RenderEndTag();
                          writer.RenderEndTag();
                      }
                  }
                  return stringwriter.ToString();
              }
      

      【讨论】:

      • 我也会这样做,而不是从其他作家那里注入 html。但是要使其正常工作,您必须将作者的引用传递给它... public static void writeDropDownOptionHTML(ref HtmlTextWriter writer, string tablename, string id_col, string value_col) 然后通过 writeDropDownOptionHTML(ref writer, "xyz" 调用它"abc","def");
      猜你喜欢
      • 1970-01-01
      • 2018-04-16
      • 2021-10-25
      • 2017-01-06
      • 2012-11-09
      • 1970-01-01
      • 1970-01-01
      • 2010-09-09
      • 1970-01-01
      相关资源
      最近更新 更多