Я включил несколько пользовательских элементов управления на одну страницу. Пользовательские элементы управления обычно имеют 2 разных вида, вид редактирования/по умолчанию и завершенное представление. Когда пользователь завершит редактирование, я переключу MultiView в законченное состояние. Этот шаблон работает хорошо на страницах.Внедрение нескольких пользовательских элементов управления на страницу?
Проблема заключается в том, что когда я возвращаюсь к главному виду/странице, тогда пользователь возвращает элемент управления, вид все еще находится в завершенном состоянии.
Каковы некоторые простые способы сброса/исправления состояния многопользовательского режима? Я мог бы иметь функцию Reset() для каждого элемента управления, но мне кажется, что я могу избежать этого.
Update:
Эта страница предназначена, чтобы показать/просмотреть профиль учетной записи и имеет следующие части:
<asp:MultiView>
...read only view
<asp:EmailEditView>
<asp:AccountEditView>
и т.д ..
И тогда каждый из этих взглядов имеет пользовательский контроль. Внутри пользовательского элемента управления, у нас есть что-то вроде этого
<asp:multiview>
<asp:view id="edit"/>
<asp:view id="completed"/>
я нашел следующие проблемы с этим дизайном:
Когда пользователь завершает действие пользовательских элементов управления, таких как изменение по электронной почте. Вид остается в готовом состоянии, даже когда он возвращается к нему второй раз.
Когда пользователь вернется к исходной форме, данные устарели. Эта конструкция действительно завинчивается с механизмом обратной передачи. Если я не использую IsPostBack в основной форме для данных, тогда мой выпадающий список на подформатах не будет работать. Однако, как только я добавляю! IsPostBack в основной форме, данные становятся устаревшими.
Я могу добавить «сбросить» флаг каждого пользовательского элемента управления и добавить что-то вроде этого
if ((!IsPostback) || (reset))
Как сбросить вид. В другом случае я могу добавить обработчик событий для загрузки перезагрузки/привязки данных, когда пользователь нажимает «назад», то есть там, где я меняю форму обратно.
какой механизм вы используете для хранения, в каком состоянии ваши средства управления находятся в? можем ли мы увидеть какой-то код? –
Я понятия не имею, что «Проблема в том, когда я возвращаюсь к главному виду/странице, тогда пользователь возвращает элемент управления, представление все еще находится в завершенном состоянии». означает. – Greg
@Greg Я думаю, что вложение пользовательских элементов управления на страницу, подобную этой для редактирования формы, - плохая идея, потому что теперь я должен отслеживать состояние пользовательского элемента управления. –