ASP.NET страница загружается дважды из-за встроенной настройки фонового изображения внутри повторителя - PullRequest
0 голосов
/ 26 сентября 2019

Все работает дважды.У меня есть повторитель, и я пытаюсь установить фоновое изображение в его ItemTemplate.Я сузил его до следующей строки.как только я извлекаю часть background-image ... из атрибута style, она запускается только один раз.Фотография представляет собой данные URI.Это на самом деле покажет фоновое изображение, если я оставлю код там, но заставит все работать дваждыСтранно, если я поставлю пробел между "url" и "(", он также перестанет запускаться дважды, но затем фоновое изображение не отобразится, поскольку нарушает необходимый синтаксис для фонового изображения. Я в недоумении, почемуиз-за этого он запускается дважды. Я также пробовал варианты, но та же проблема. Кажется, это не связано с тем фактом, что я использую данные URI, поскольку вместо этого я попробовал просто типичный файл file.jpg, и он все еще запускался дважды.Я также вытащил его из атрибута style и поместил в атрибут «заставил поверить», например test = "", и это сработало. Так что, похоже, это прямая проблема с привязкой к свойству css "background-image: url (...) "

Я даже пытался переместить код в событие ItemDataBound, и это все равно заставляет страницу запускаться дважды. Я просто не могу понять это.

<span style='<%# "background-image:url("+DataBinder.Eval(Container.DataItem, "Photo")+");height: 32px; width: 32px;background-size: 100%;background-position:0% 25%;background-repeat:no-repeat;"%>'></span>


<span style='background-image:url(<%#DataBinder.Eval(Container.DataItem, "Photo")%>);height: 32px; width: 32px;background-size: 100%;background-position:0% 25%;background-repeat:no-repeat;'></span>

1 Ответ

0 голосов
/ 27 сентября 2019

Таким образом, проблема не имела никакого отношения ни к одному из способов, которыми я пытался отобразить изображение, это было связано с тем, что некоторые другие элементы в повторителе не имели значения для Фото, поэтому в итоге получилось:

<span style='background-image:url("");height: 32px; width: 32px;background-size: 100%;background-position:0% 25%;background-repeat:no-repeat;'></span>

который оставил URL фонового изображения пустым.по-видимому, это приводит к тому, что браузер дважды перезагружает страницу ... из статьи 2011 года: https://www.bennadel.com/blog/2236-empty-src-and-url-values-can-cause-duplicate-page-requests.htm, похоже, что пустой url () интерпретируется как сама страница, в результате чего браузер загружает страницу дважды.Имеет смысл, но не уверен, почему браузер не интерпретирует его по-разному, чтобы избежать этой проблемы, то есть не может объяснить, почему попытка загрузить саму страницу в качестве фонового изображения когда-либо понадобится или понадобится.

...