Проблема с кнопкой ASP в IE6 - PullRequest
3 голосов
/ 14 января 2010

У меня есть веб-приложение ASP.NET, которое прекрасно работает в IE7, IE8, IE8 (режим совместимости) и в Firefox, однако у нас есть некоторые пользователи в IE6 (и нет, они не собираются менять какие-либоскоро) ... При отображении кнопок в IE6 они не отображаются правильно, и события onclick не запускаются.

В настоящее время не выполняется никакого определения браузера.Нужно ли мне изменить то, что страница делает для поддержки IE6?

Это нерабочие кнопки alt text

Это рабочие кнопки

alt text

Пример одного из определений кнопок:

        <asp:Button ID="Button1" SkinID="formbutton" runat="server" Text="Cancel" OnClick="Button2_Click" CausesValidation="False" 
        ToolTip="Cancels any changes"/>

Любые мысли будут с благодарностью приняты.

Приветствия

Редактировать 1: Перед рендерингом кодis:

<input type="button" name="ctl00$ContentPlaceHolder1$btnSaveInProgress" 
    value="Save as In Progress" onclick="clickOnce(this, 'Cargando...');WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;ctl00$ContentPlaceHolder1$btnSaveInProgress&quot;, &quot;&quot;, true, &quot;&quot;, &quot;&quot;, false, true))" 
    id="ctl00_ContentPlaceHolder1_btnSaveInProgress" 
    title="Saves this commission as 'In Progress'" 
    style="color:White;background-color:#547ED8;border-style:Double;padding:3px;" />

После рендеринга это так:

<INPUT class=rfdDecorated id=ctl00_ContentPlaceHolder1_btnSaveInProgress 
    title="Saves this commission as 'In Progress'" 
    style="PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; COLOR: white; BORDER-TOP-STYLE: double; 
        PADDING-TOP: 3px; BORDER-RIGHT-STYLE: double; BORDER-LEFT-STYLE: double; BACKGROUND-COLOR: #547ed8; 
        BORDER-BOTTOM-STYLE: double" 
    onclick="clickOnce(this, 'Cargando...');WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;ctl00$ContentPlaceHolder1$btnSaveInProgress&quot;, &quot;&quot;, true, &quot;&quot;, &quot;&quot;, false, true))" 
    type=button value="Save as In Progress" name=ctl00$ContentPlaceHolder1$btnSaveInProgress>

Вероятно, стоит упомянуть, что он также использует Telerik AjaxManager на странице, хотя я не знаю, если этоимеет отношение.

Ответы [ 2 ]

2 голосов
/ 14 января 2010

Я вижу две возможные причины здесь.

  1. У SkinID могут быть проблемы с форматированием, которые не видны сразу, даже в окончательном отображаемом выводе. Вы пытались выполнить форматирование кнопок, используя вместо этого свойство CssStyle?

  2. Согласно этой статье , есть некоторые проблемы с тем, как IE6 обрабатывает отступы и поля в CSS. Ответ состоит в том, чтобы иметь вторую строку в классе CSS, которую IE6 подберет. Итак, ваш файл класса будет выглядеть так:

    .FormButton
    {
    цвет: белый;
    цвет фона: # 547ED8;
    стиль границы: Double;
    обивка: 3px;
    _padding: 3px 0px 3px 0; / * Обход IE6 * /
    }

Надеюсь, один из этих предметов поможет. В общем, я бы в любом случае предложил использовать маршрут CSS для ваших кнопок, поскольку CSS хорошо зарекомендовал себя, если у вас уже нет некоторых требований для использования скинов.

0 голосов
/ 15 января 2010

Эти кнопки выглядят так, как будто они автоматически оформляются с помощью элемента управления RadrikormDecorator Telerik (оболочка Web20). Вы можете попробовать обновить его до более поздней версии пакета RadControls или просмотреть форум Telerik, чтобы узнать, есть ли обходной путь CSS для этой проблемы в IE6. Еще одна вещь, которую вы можете проверить - есть ли у вас действительный тип документа XHTML на странице, а если нет, то добавьте его. Например:

<! DOCTYPE html PUBLIC "- // W3C // DTD XHTML 1.0 Transitional // EN" "<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" rel="nofollow noreferrer">http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

...