AccountModel на одном экране - PullRequest
       18

AccountModel на одном экране

1 голос
/ 20 сентября 2011

У меня есть это приложение с базовой AccountModel, которая поставляется с MVC3. AccountModel имеет три класса:

  • ChangePasswordModel;
  • LoginModel;
  • RegisterModel;

Я хочу создать экран «Учетная запись / Настройки», чтобы создать действие «Настройка» на контроллере учетной записи.

Но я не могу понять, что делать дальше, так как на этом экране будут все функции учетной записи, такие как изменение пароля, изменение настроек сайта и профиля, а ChangePasswordModel - это отдельная модель!

Как опубликовать форму ChangePassword внутри этой / учетной записи / настройки и все еще заставить действие ChangePassword работать?

Как унифицировать это на одном экране?

1 Ответ

2 голосов
/ 20 сентября 2011

Если вы оберните каждый набор функций в новую форму, вы сможете выполнить то, что вы хотите ... Вы можете использовать

<% using(Html.BeginRouteForm(...) %>

, чтобы довольно четко указать, куда вы хотите, чтобы каждый раздел страницыgo ... Я бы порекомендовал вам отправлять каждое из них на различные действия (даже если они находятся в одном контроллере), чтобы упростить привязку вашей модели.

Это может стать уродливым, если у вас есть переменная A в одномформы, но хотите получить ее в другой форме.

Если вы хотите просто поместить все на один экран, каждая форма может успешно представлять свою собственную модель чисто, тогда это довольно приличный способ сделать это (ИМО)

РЕДАКТИРОВАТЬ

Если вы привыкли к ASP.net, а MVC для вас немного нов, размещение нескольких форм на одной странице противоречит ASP.net, но в mvc (как уже упоминалось) вы можете сделать это очень эффективно.

РЕДАКТИРОВАТЬ для ссылок

http://msdn.microsoft.com/en-us/library/system.web.mvc.html.formextensions.beginrouteform.aspx

http://msmvps.com/blogs/luisabreu/archive/2009/01/31/the-mvc-platform-more-form-extension-methods.aspx

...