Используйте CTE , чтобы получить общее количество строк:
with cte as(
select count(*) total from table
)
select *, (select total from cte) total
from table limit 0, 100
У меня нет каждого испытанного эта установка прежде, но я могу взять предположение в том, что продолжается. UserCotnrols предназначены, чтобы быть загруженными путем, не ссылкой. Вы пытаетесь создать их ссылкой. Заметьте различие между тем, как Вы обращаетесь к ним во внутреннем проекте и как это отличается от внешнего проекта. Я верю, чтобы заставить это работать, необходимо будет обратиться к местоположению пути .ascx файла.
Быстрый поиск показывает, как это может быть сделано в VS 2005, но понятие должно быть тем же в VS 2008. Можно найти ту информацию здесь.
Другая опция не состояла бы в том, чтобы использовать поверхность для дизайна и вместо этого загрузить средства управления с помощью метода LoadControl, передав в пути к .ascx файлам.
Отредактируйте важную вещь взять из ссылки, которую я упоминаю выше, то, что необходимо сделать .ascx файлы доступными для внешнего приложения. Вышеупомянутая ссылка делает это при помощи команды перед сборкой для копирования .ascx файлов в sub папку во внешнем проекте. Думайте о внутреннем проекте, как будто Вы собирались перераспределить его. Необходимо было бы выдать не только блок, но также и .ascx файлы. Чтобы пользователи использовали его, они должны сослаться на .ascx файлы и иметь их ссылку проекта Ваш блок. Необходимо сделать то же самое также.
Я надеюсь, что это немного более ясно.