【问题标题】:How to remove mysterious border in string builder table?如何删除字符串生成器表中的神秘边框?
【发布时间】:2017-05-19 01:22:15
【问题描述】:

我有一些生成 PDF 的代码。由于某种原因,这一行的图像后面出现了一个黑色边框的单元格:

sb.AppendLine("<tr><td>" + "~/images/Products/" + imageName + "</td><td>~/images/spacer.gif</td></tr>");

我已尝试将表格上的边框设置为 0,但我收到错误“)预期”,或者 html 刚刚中断。

如何确保此单元格周围不显示边框?

这里涉及到两个部分:

//add images
        str = new StringBuilder();
        str.Append("<table>");

        if (HasRelatedImages(ContentId, ref str))
        {
            obj = new List<FieldIdentifier>();
            obj.Add(new FieldIdentifier() { LabelName = "Images", Value = "" });
            index = index + 1;
            rows.Add(index, obj);

            obj = new List<FieldIdentifier>();
            obj.Add(new FieldIdentifier() { LabelName = "NewTable_Data", Value = str.Append("</table>").ToString() });
            index = index + 1;
            rows.Add(index, obj);
        }
        //end images

和

private Boolean HasRelatedImages(long productId, ref StringBuilder sb)
{
    var imagemetadata = new List<ImageMetadata>();
    int i = 0;

    try
    {
        Database db = DatabaseFactory.CreateDatabase("Site.DbConnection");
        DbCommand dbCommand = db.GetStoredProcCommand("[spSelectImages]");
        db.AddInParameter(dbCommand, "@ContentID", DbType.Int64, productId);
        IDataReader dr = db.ExecuteReader(dbCommand);

        while (dr.Read())
        {
            string imageName = GetNullableDBStringValue(dr["ImageName"]);
            string altText = GetNullableDBStringValue(dr["ALTText"]);
            altText = HttpUtility.HtmlEncode(altText);

            if (!string.IsNullOrEmpty(imageName) && System.IO.File.Exists(System.Web.HttpContext.Current.Server.MapPath("~/images/Products/" + imageName)))
            {
                i++;

                sb.AppendLine("<tr><td>" + i.ToString() + "</td><td>" + (string.IsNullOrEmpty(altText) ? " " : altText) + "</td></tr>");
                sb.AppendLine("<tr><td>" + "~/images/Products/" + imageName + "</td><td>~/images/spacer.gif</td></tr>");
            }

        }
        dr.Close();
    }
    catch
    {
    }


    if (i > 0) return true;

    return false;
}

【问题讨论】:

  • 能否请您提供一个 plunkr 与您面临的问题
  • 能否添加将边框设置为0导致错误的代码?
  • str.Append("");它实际上给了我一个语法错误。我只是不知道如何在这里更改边框属性。
  • 如果我像 str.Append("
  • ");然后所有的 HTML 都会显示在 pdf 上。
  • 您是否尝试转义引号?即str.Append("&lt;table border=\"0\"&gt;");

标签: html css asp.net .net stringbuilder


【解决方案1】:

还有其他代码涉及添加边框。这件作品无需更改。

【讨论】:

    猜你喜欢
    相关资源
    最近更新 更多
    热门标签