【问题标题】:Controlling the appearance of disabled pagination links (a[disabled="disabled"]) rendered by a DataPager控制由 DataPager 呈现的禁用分页链接 (a[disabled="disabled"]) 的外观
【发布时间】:2011-02-05 18:25:49
【问题描述】:

我有一个带有下一个和上一个按钮的数据分页器:

   <asp:DataPager ID="dpFeaturedPager" PagedControlID="lvFeaturedTips" QueryStringField="ftpg" PageSize="1" runat="server">
        <Fields>            
            <asp:nextpreviouspagerfield ButtonCssClass="featured-previous" PreviousPageText="Previous" ShowNextPageButton="false" />
            <asp:nextpreviouspagerfield ButtonCssClass="featured-next" NextPageText="Next" ShowPreviousPageButton="false" />
        </Fields>
    </asp:DataPager>   

当只有一个页面可用时,Next 和 Previous 链接呈现如下:

<a disabled="disabled">Previous</a>

我以前没有见过这个禁用的标签,并假设它来自我无法控制的 datapager 控件。

像往常一样,这在 FireFox 上很好,但在 IE7 上,Previous 和 Next 文本无法正确呈现 - 它被概述(老实说,我希望 disabled 看起来像 - 但在页面中看起来有点难看!)

我可以在 CSS 中控制它,还是这是一个已知问题?

谢谢 邓肯

【问题讨论】:

    标签: asp.net internet-explorer-7 datapager


    【解决方案1】:

    查看StackOverflow 上的此线程,他们对禁用链接和控件的 CSS 样式有一些建议。希望对您有所帮助!

    a[disabled=disabled] { 
      color: red; 
      font-weight: bold;
      border: 0px;
    } 
    

    编辑:看起来选择器属性在 IE6 中不起作用。

    【讨论】:

    • 我试过 [disabled=disabled] { color: red;字体粗细:粗体; } 但遗憾的是没有快乐 - 没有工作!
    • 您是否尝试在 nextpreviouspagerfield 标记中设置此项 - RenderDisabledButtonsAsLabels=”true”?这将确保它们不会呈现为 html 链接而只是标签。
    • 问题是我也在使用 QueryStringField 属性——显然你不能同时使用这两个属性!我可以看到必须做这样的事情 - gsej.wordpress.com/2009/05/31/…
    【解决方案2】:

    不能在 IE 中设置禁用控件的颜色。您可以更改背景或边框,但颜色将始终保持灰色并带有白色阴影(系统颜色)。它甚至在 IE9 中也不起作用。 关于这个问题的帖子:How to change color of disabled html controls in IE8 using css.

    【讨论】:

      【解决方案3】:

      使用jQuery的快速解决方案removeAttr()

      $('a').removeAttr('disabled');
      

      这个:

      <a disabled="disabled">Sad</a>
      

      变成这样:

      <a>Happy</a>
      

      【讨论】:

        【解决方案4】:

        我在下一个和上一个链接中都添加了一个“btnDisable”类,然后使用了 CSS...

        span .btnDisable {cursor: not-allowed; }
        span a.btnDisable {cursor: pointer; }
        

        只需确保将 RenderDisabledButtonsAsLabels 设置为 True。

        【讨论】:

          【解决方案5】:

          对于那些仍在寻找这个问题的人,从 .net 4.0 开始,您可以在 web.config 文件中定义 .net 控件的 HTML 兼容性。

          <pages controlRenderingCompatibilityVersion="4.0" clientIDMode="AutoID">
          

          然后在 Global.asax.cs 中您可以指定 CSS 类 .net 应该应用于禁用的控件。

          System.Web.UI.WebControls.WebControl.DisabledCssClass = "disabled";
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-07-30
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多