简体   繁体   English

如何在HtmlTextWriter asp.net c#webform中追加字符串

[英]how to append string in a HtmlTextWriter asp.net c# webform

Let say i have a function like below, which returns option tag as a string. 假设我有一个类似下面的函数,它将选项标记作为字符串返回。

 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();
        }

now i have another function like below 现在我有另一个功能如下

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();
        }

在此输入图像描述

how to append string in a HtmlTextWriter? 如何在HtmlTextWriter中追加字符串?

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

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

I'd pass writer from writeWalkReverseTableData to writeDropDownOptionHTML as a parameter, like this: 我从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();
        }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM