【问题标题】:Ghost cell in IE9 with Repeater Control带有中继器控制的 IE9 中的幽灵单元
【发布时间】:2013-02-27 21:19:24
【问题描述】:

IE9 生成空白单元格,或者你可以说 Ghost Cell,带有 ASP.Net Repeater 控件。 我尝试使用 javascript 正则表达式。渲染函数以运行 reg。 exp。但是该页面包含很少的更新控件并产生错误。

错误:sys.webforms.pagerequestmanagerservererrorexception 消息 从服务器收到的无法解析。 ScriptResource.axd

我尝试了所有众所周知的链接来解决这个错误。 如果你真的有,请建议我......

谢谢

protected override void Render(HtmlTextWriter writer)
    {
      using (HtmlTextWriter htmlwriter = new HtmlTextWriter(new System.IO.StringWriter()))
      {
        base.Render(htmlwriter);
        string html = htmlwriter.InnerWriter.ToString();
         if ((ConfigurationManager.AppSettings.Get("RemoveWhitespace") + string.Empty).Equals("true", StringComparison.OrdinalIgnoreCase))
          {
            //html = Regex.Replace(html, @"(?<=[^])\t{2,}|(?<=[>])\s{2,}(?=[<])|(?<=[>])\s{2,11}(?=[<])|(?=[\n])\s{2,}", string.Empty);
            html = Regex.Replace(html, @"(?<=<td[^>]*>)(?>\s+)(?!<table)|(?<!</table>\s*)\s+(?=</td>)", string.Empty);
            html = html.Replace(";\n", ";");
          }
         writer.Write(html.Trim());
      }

另一种解决方案是,但中继器失败

var expr = new RegExp('>[ \t\r\n\v\f]*<', 'g'); 
document.body.innerHTML = document.body.innerHTML.replace(expr, '><'); 

【问题讨论】:

  • Repeater 控件创建新行时是否可以删除 之间的空格 .... 我不知道如何 .... 任何人都有想法...

标签: c# asp.net internet-explorer-9


【解决方案1】:

您可以直接访问 Repeater 控件(在将其写入页面并由 IE 呈现之前)并根据其索引删除单元格。

【讨论】:

  • 谢谢...但是这些单元格不是我定义的,它们仅由 IE9 生成...没有其他浏览器可以这样做
  • 我刚刚重新阅读了您的帖子。您是说 IE 是在表格中添加了一个额外的单元格,还是只是在 TD 标签之间添加了一个额外的空格?
  • 是的,它的 IE9 错误。请看,它看起来一样.. stackoverflow.com/questions/5805956/…
  • 但我有简单的 ASPX 页面,使用 C# 进行中继器控制。没有 Jquery,没有 Ajax
  • 标签[表格内部]之间的空格应该被忽略,并且任何浏览器都不应该将其解释为额外的单元格。
【解决方案2】:

需要去掉“”和“

”之间的空格。

【讨论】:

    【解决方案3】:

    找到了一个非常有用的脚本,可以在 IE9 浏览器中进行渲染时防止不需要的单元格出现在您的 html 表格中。

    function removeWhiteSpaces()
    {
       $('#myTable').html(function(i, el) {
          return el.replace(/>\s*</g, '><');
       });
    }
    

    当页面加载(即 onload 事件)时你应该调用的这个 javascript 函数

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-19
      • 2017-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多