Хранитель W3C HTML Checker здесь. Проблема заключается в том, что у вас в вашем HTML есть байт `
(backtick), в строке после тега начала <audio controls>
и перед началом тега <source src="/audio1/horse.ogg" type="audio/ogg">
.
Удалите это `
символ и ошибка исчезнет.
Причина, по которой валидатор показывает, что сообщение об ошибке в этом случае состоит в том, что когда он видит этот символ `
, он интерпретирует это как текстовый контент (резервный контент), чтобы показывать пользователям в браузерах, которые не поддерживают элемент audio
; то есть то же, что и текст «Your browser does not support the audio element
» в фрагменте в вопросе.
Но если элемент audio
имеет такой текстовый контент, тогда правила в спецификации HTML определяют, что нет элементов разрешено следовать этому текстовому контенту. Поэтому, когда контролер видит элемент source
в этом случае, он выдает сообщение об ошибке, указывающее, что элемент source
не разрешен.
Извините, что проверитель не дает лучшего сообщения об ошибке здесь, чтобы помочь вам определить проблему; например, было бы намного лучше, если бы он сказал что-то вроде:
Элемент
blockquote>source
здесь не разрешен, потому что этот элементaudio
уже имеет текстовое содержимое (`
); удалите текстовое содержимое или переместите его, чтобы следовать за элементомsource
.Но текущий дизайн кода для проверки делает очень трудным заставить его создать более полезную подробную ошибку сообщение подобный.
Hmmm... the actual call that uses paging is the second one - that's a single call.
The second call is to determine the total number of rows - that's quite a different operation, and I am not aware of any way you could combine those two distinct operations into a single database call with the Entity Framework.
Question is: do you really need the total number of rows? What for? Is that worth a second database call or not?
Another option you would have is to use the EntityObjectSource (in ASP.NET) and then bind this to e.g. a GridView, and enable AllowPaging and AllowSorting etc. on the GridView, and let the ASP.NET runtime handle all the nitty-gritty work of retrieving the appropriate data page and displaying it.
Marc
Использование Esql и сопоставление хранимой процедуры с сущностью может решить проблему. SP вернет totalRows в качестве выходного параметра и текущую страницу в качестве набора результатов.
CREATE PROCEDURE getPagedList(
@PageNumber int,
@PageSize int,
@totalRecordCount int OUTPUT
AS
//Return paged records
Пожалуйста, сообщите.
Спасибо.
Что не так с двумя звонками? Это небольшие и быстрые запросы. Базы данных предназначены для поддержки множества небольших запросов.
Разработка сложного решения для выполнения одного запроса на пейджинг не принесет вам больших результатов.