C # Обрабатывать GUI в MVC - PullRequest
       17

C # Обрабатывать GUI в MVC

0 голосов
/ 17 апреля 2009

Я использую asp.net MVC Framework. В моем приложении пользователь должен войти в систему. И когда комбинация имени пользователя и пароля верна, div (или панель?) С меню в нем должны стать видимыми. Но как я могу это сделать? Когда имя моей панели pnlMenu, в моем контроллере я не могу сделать что-то вроде:

pnlMenu.visible = true;

Итак, как мне это сделать?

Ответы [ 2 ]

3 голосов
/ 18 апреля 2009

Что вы должны сделать, это проверить контроллер, чтобы увидеть, вошел ли пользователь в систему и установить значение в ViewData следующим образом:

ViewData["IsLoggedIn"] = true;

Затем, по вашему мнению, вы можете установить видимость метода на основе этого значения. Таким образом, если вы позже измените представление или решите иметь несколько представлений, каждое из них может использовать это значение, и между вашим представлением и вашим контроллером не будет никакой связи.

0 голосов
/ 17 апреля 2009

Создать метод или свойство в вашем представлении, которое позволяет скрывать или отображать соответствующие элементы управления?

Тогда в вашем контроллере вы можете получить доступ к этому свойству или методу вашего представления, не так ли?

Вы не хотите ссылаться на определенные «элементы управления» на вашем View в вашем контроллере, поскольку одна из идей MVC состоит в том, что вы можете просто заменить пользовательский интерфейс другой реализацией (web / win / ...) и сделать использование одних и тех же контроллеров и логики приложения. Затем вы просто хотите описать операцию, которую должен поддерживать ваш View, поэтому в интерфейсе, описывающем «контракт», который должен поддерживать ваш View, вы должны создать метод, который называется, например, ChangeState (bool loggedIn).

В контроллере вы можете вызвать этот метод, когда пользователь вошел в систему.

...