4

IE9 ASP.Net Repeater コントロールを使用して、空白のセルを生成するか、Ghost Cell と呼ぶことができます。JavaScriptの正規表現を試してみます。reg を実行するレンダリング関数。指数 しかし、ページには更新コントロールがほとんどなく、エラーが発生します。

エラー: 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, '><'); 
4

3 に答える 3

0

リピーターコントロールに直接アクセスして(ページに書き込まれ、IEによってレンダリングされる前に)、インデックスに基づいてセルを削除できます。

于 2013-03-12T15:33:02.230 に答える
0

IE9 ブラウザーでのレンダリング中に、HTML テーブル内の不要なセルを防止するための非常に便利なスクリプトが見つかりました。

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

ページが読み込まれたときに呼び出す必要があるこの JavaScript 関数 (つまり、onload イベント)

于 2016-06-16T09:57:20.570 に答える
0

"< /td >" と "< td >" の間のスペースを削除する必要があります。

于 2013-05-02T10:38:45.717 に答える