Как заставить UpdatePanel и UserControls работать вместе Asp.net - PullRequest
0 голосов
/ 01 сентября 2018

Я занимаюсь разработкой приложения ASP.NET. Архитектура приложения - одна страница Index.aspx, которая включает 6 пользовательских элементов управления. Login.ascx Entry.ascx function1.ascx function2.ascx function3.ascx function4.ascx. Поток использования - это то, что пользователю необходимо выполнить вход в систему с помощью элемента управления Login, а после завершения он перейдет к элементу управления Entry, где он сможет принять решение, какой вид функции он хочет перейти. В каждом представлении функций есть кнопки, которые будут отправлять некоторые файлы на удаленный сервер. И поскольку все элементы управления находятся внутри одного и того же Index.aspx, навигация осуществляется путем переключения видимости элементов управления в PostBack.

Теперь проблема: из-за того, что слишком много функций необходимо подключить к удаленному серверу, мне нужно показать статус выполнения, когда действие занимает слишком много времени. Я думаю, используя UpdateProgress и UpdatePanel

Вариант 1: поместите только кнопки внутри UpdatePanel. Но тогда в PostBack я не могу переключить видимость внешних элементов управления.

Вариант 2: обернуть каждый отдельный элемент управления внутри UpdatePanel отдельно и выполнить UpdateMode=Always. Но я беспокоюсь о производительности.

Вариант 3: обернуть каждый пользовательский элемент управления внутри UpdatePanel отдельно и выполнить UpdateMode=Conditional. А затем программно выполните Update для элементов управления, которые мне нужно включить в PostBack.

Вариант 4: поместить все 6 пользовательских элементов управления в один UpdatePanel.

Вариант 5: просто используйте OnClientClick, чтобы показать статус прогресса, и используйте ScriptManager, чтобы переключиться обратно в PostBack

Мне не нравится ни один из них. Есть ли другие варианты?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...