Создание каркаса для веб-форм ASP.NET, аналогичных состояниям Flex - PullRequest
0 голосов
/ 13 апреля 2010

Мне очень нравится флекс-фреймворк.Вы определяете несколько состояний для своего элемента управления, а затем можете настроить дочерние элементы управления, чтобы они отображались только в определенных состояниях.Проверьте этот код:

<s:states>
    <s:State name="signin"/>
    <s:State name="register"/>
</s:states>

<mx:FormItem label="Last name:" includeIn="register" id="lastNameItem" alpha="0.0">
    <s:TextInput id="lastName" width="220"/>
</mx:FormItem>

Теперь форма фамилии появится только на экране регистрации.Это было бы очень полезно, я думаю, в .NET, где вы используете страницу для просмотров, таких как обновление / вставка.Я рассматривал вопрос о расширении элемента Page для получения свойства состояний с использованием методов расширения и добавлении включения в элементы управления.Таким образом, я могу автоматически скрывать элементы управления на основе текущего представления во время рендеринга.

Что еще круче в Flex, так это то, что вы можете использовать различные обработчики / свойства в зависимости от текущего состояния.

<s:Button label="Sign in" label.register="Register" id="loginButton" 
        enabled="true" click.signin="signin()" click.register="register()"/>

Я уверен, что я мог бы реализовать и нечто подобное.

Как вы думаете, это хорошая идея?Или это просто добавляет уровень абстракции к фреймворку, который уже имеет плохое разделение интересов?

1 Ответ

0 голосов
/ 13 апреля 2010

Парадигма States является хорошей и существует аналогичным образом в приложениях WPF. Важное различие между ASP.NET и Flash / Flex заключается в том, что ASP.NET представляет собой каркас на основе HTTP.

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

Если вы ищете разделение задач, возможно, стоит рассмотреть ASP.NET MVC.

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