Используйте ListView вместо SingleChildScrollView
, поместите оставшуюся часть содержимого в ListView
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.white,
resizeToAvoidBottomPadding: false,
body: NestedScrollView(
controller: _controller,
headerSliverBuilder: (BuildContext context, bool innerBoxScrolled){
return <Widget>[
SliverAppBar(
},
body:ListView(
),
Путем мы делаем это в моей существующей компании, должен удостовериться, что CommonControlsWebApp является WebApplication, не веб-сайт. Затем Вы используете названия папок, которые помогли бы идентифицировать его как общие, которые отличны от отдельных веб-приложений. (CommonUserControls вместо просто UserControls)
В Ваших других веб-приложениях Вы создаете виртуальный каталог к CommonUserControls, и т.д., и добавляете основанную на файле ссылку на CommonControlsWebApp.dll
Это требует, чтобы Вы использовали IIS для разработки (не казино), и Visual Studio не будет полагать, что средства управления действительно существуют, но это будет работать во времени выполнения, и можно создать очень хорошо только с предупреждениями о blahblah.ascx или недопустимом пути blahblah.master.
При использовании общих основных страниц и Visual Studio 2008 Вы будете нуждаться в SP1 на 2008 и использовать __ fallback.master в корне отдельных веб-проектов войти к режиму проектирования.
Однако я видел это на другом потоке, и я собираюсь изучить выполнение больше как это: http://webproject.scottgu.com/CSharp/UserControls/UserControls.aspx
Для совместного использования средств управления между веб-приложениями единственный способ, которым я нашел, состоял в том, чтобы или переписать их в управление сервером или использовать виртуальный каталог, чтобы заставить пользовательские элементы управления на самом деле в папке быть в каждом проекте.
К сожалению, asp.net действительно не имеет хорошего решения для этого. То же верно для того, чтобы поделиться основными страницами.
Вы могли бы рассмотреть использование управления исходным кодом и совместного использования Ваших средств управления на том уровне. Мы делаем это для значительной библиотеки пользовательского элемента управления, и она работает вполне хорошо.
Используя Хранилище SourceGear, но необходимо смочь сделать это с любым продуктом управления исходным кодом.
Проверьте это сообщение на то, как решить эту проблему.
Основная идея состоит в том, чтобы изменить Ваш проект иметь шаг перед сборкой для копирования по .ascx файлам в подкаталог веб-приложения. Затем просто обратитесь к тем копиям при использовании их. Конечно, также необходимо сослаться на блок UserControls также.
Одна опция состоит в том, чтобы попробовать, "Добавьте существующий" и в диалоговом окне, которое появляется, кнопка OK имеет стрелку отбрасывания рядом с ним, измените его для Добавления со ссылкой.
Если это не работает, перепишите свои средства управления как Пользовательские элементы управления.
Это возьмет некоторое время, но сделает его намного более удобным в сопровождении в будущем.
эй это не лучший способ сделать вещи, но я раньше делал это в моем asp.net 1,1 дня - можно попробовать, это - смещает пользовательские элементы управления в отдельный проект и публикует этот проект как виртуальный каталог под iis
пока Вы не используете codebehind - Ваши обновления были бы прохладны (только обновление совместно использованная папка пользовательского элемента управления)
если Вы действительно используете codebehinds - повторно развертывают пользовательский элемент управления dlls в различные проекты
после того как Вы сделаны с этим - отображают эти пользовательские элементы управления во все проекты с помощью их виртуальных трактов
проверьте эти ссылки - http://aspadvice.com/blogs/ssmith/archive/2006/10/05/Tip_3A00_-Share-User-Controls-Between-Applications-in-ASP.NET.aspx
И
Вы можете скомпилировать его в dll
Краткое описание шагов
Основные шаги, чтобы это произошло следующие:
- Запишите свой пользовательский элемент управления, как обычно, обычно используя Дизайнер Visual Studio.
- Протестируйте его, используя простую страницу, прежде чем пытаться его развернуть.
- Разверните приложение, чтобы предварительно скомпилировать его.
- Возьмите сборку пользовательского элемента управления, созданную на этапе развертывания, и вы по сути закончили: у вас есть пользовательский элемент управления.
- Наконец, используйте пользовательский элемент управления в других приложениях.
Дополнительная информация здесь http://www.nathanblevins.com/Articles/Compile-a-Web-User-Control-into-a- DLL-.Net-c-.aspx