Почему моя страница Aspx отображает другой HTML в FireFox и IE - PullRequest
1 голос
/ 27 января 2009

Я столкнулся с проблемой, когда мой код asp.net по-разному отображается в Firefox и IE. Когда я говорю по-другому, я имею в виду, кнопка LinkButton в IE отображается как тег привязки. Однако в Firefox он отображается как span

пример кода

<ItemTemplate>
   <div id="<%#Eval("Id","{0}") %>">
     <asp:LinkButton ID="ProductName" runat="server" CommandName="Listing" 
       CommandArgument='<%# Bind("Id") %>' Text='<%# Bind("Name") %>PostBackUrl=""></asp:LinkButton>
     <asp:Label ID="lbl_pricePerUnit" runat="server" Text="" />
   </div>
</ItemTemplate>

Некоторые другие элементы управления вообще не отображаются, хотя и видимы. alt text alt text

Я понятия не имею, что здесь происходит, и я никогда не видел, чтобы это случилось раньше. Я использую последние версии браузеров и у меня asp.net 3.5 и VS2008

UPDATE: Хорошо, это страница AJAX, вид сетки находится внутри панели обновления, которая реагирует на событие OnCommand LinkButton. Код, очевидно, компилируется, и он прекрасно работает в IE.

Я проверил источник страницы на Firefox, и он такой же, как изображение. Было высказано хорошее мнение об отсутствии идентификатора на содержащем тег DIV. Встраивает ли скрипт в FireFox проблемы? А как насчет идентификатора начинается с цифр?

Ответы [ 5 ]

1 голос
/ 27 января 2009

Я очень расстроен, чтобы признать, что совершил самые грубые промахи

Jay S очень правильно указал, что я должен убедиться, что смотрю на правильный экземпляр кода. Некоторые ссылки в локальной версии указывают на версию Dev на сервере Dev. Он не устарел и на самом деле там работает старый код до того, как названия продуктов были преобразованы в ссылки.

Извиняюсь за трату коллективной энергии мозга и спасибо всем за ваши ответы.

1 голос
/ 27 января 2009

Похоже, что есть другие проблемы с вашими шаблонами.

Как говорит Крис в комментарии «Возможно, если ссылка не имеет href?»

Глядя на html, сгенерированный в Firefox, также нет идентификатора на содержащем div - пока он есть в IE.

Имейте в виду, что использование Firebug для просмотра источника в Firefox и фактический просмотр источника (щелчок правой кнопкой мыши | Просмотр источника страницы) - это две разные вещи: Firebug будет отображать источник как проанализированный и обработанный браузером, с любыми добавлениями, которые были добавлены / изменены JavaScript или движком браузера - Использование View View Source покажет вам фактическую источник возвращен с сервера до того, как произошла какая-либо обработка - правильный ли этот код / ​​такой же?

Браузерные колпачки создавали правильный беспорядок во всех видах элементов управления в мире 1.x - однако они были обновлены для поддержки Firefox и т. Д. С ASP.NET 2.0, поэтому они не должны влиять на происходящее.

1 голос
/ 27 января 2009

В вашем примере кода тег asp: LinkButton сформирован неправильно - отсутствует "<". </p>

1 голос
/ 27 января 2009

Конечно, это вызвано адаптивным рендерингом, когда ASP.Net испускает html, адаптированный для браузера?

http://aspnetresources.com/blog/adaptive_rendering.aspx

0 голосов
/ 27 января 2009

По словам Микрософта, LinkButton «Отображает элемент управления в стиле гиперссылки на веб-странице». Таким образом, я не ожидал бы, что адаптивный рендеринг изменит это с HyperLink на span. Я никогда не видел такого поведения.

Если это действительно то, что происходит, то вы можете проверить пару веток:

  1. Есть ли какая-либо загрузка DHTML или JS, которая изменяет HTML после публикации страницы?
  2. Установлены ли какие-либо сборки / серверные элементы управления, которые переопределяют поведение ссылки по умолчанию?
  3. Попробуйте пустое решение с помощью кнопки связанной ссылки и попробуйте воспроизвести, а затем отследите, добавив сборки и элементы управления в проект, чтобы определить причину проблемы.

К сожалению, в вашем вопросе недостаточно информации из вашего кода и снимков экрана, чтобы дать вам исчерпывающий ответ на этом этапе.

...