2014-12-11 3 views
0

Если у меня есть вид модели в этой манере:Вызывающие методы ViewModel с частичным видом на ASP.NET MVC C#

public class ChangePasswordVM : IChangePasswordVM 
{ 
    public bool IsValidPassword(string password) 
    { 
     return password.Length >= 7; 
    } 

    public void SetPassword(string password) 
    { 
     // set password 
    } 
} 

можно тогда с частичным видом на вызов метода IsValidPassword и SetPassword?

@model ViewModels.IChangePasswordVM 

Говорят, что у меня есть @ Html.BeginForm и отправить мне проверить, если это правильный пароль, и если я вызываю метод SetPassword.

+0

Не знаете, что вы имеете в виду - почему вы назвали бы эту бизнес-логику частичным видом и которая будет передана перед подачей? Если вы не делаете это в методе контроллера, отправьте? – Rhumborl

+0

Я привык к более настольному-клиентскому подходу, где у вас есть viewmodel для каждого представления, с которым вы напрямую связываетесь, для проверки данных, которые вы вводите в представление. Я хотел бы иметь контроллер, который возвращает представление с моделью просмотра, где в представлении позже используется viewmodel для управления данными на стороне сервера. Возможно, у меня здесь неправильный способ мышления. – Ekenstein

+1

Модель просмотра в контексте MVVM - это другой зверь, который называется моделью просмотра в MVC. В MVC вы выполняете действия, делая запросы Get/Post на действия контроллера. У вас нет каких-либо методов типа действия в вашей виртуальной машине. –

ответ

0

Я думаю, что все, что вам нужно в этом примере, задает конкретный атрибут вашего свойства пароля. Это все. В вашем примере я думаю, что вы можете использовать следующий атрибут Свойство Пароль:

[MinLength(7, ErrorMessage="Password must have at least 7 characters")] 
public string Password {get;set;} 

ViewModel должны быть только данные, которые вы хотите связать - не logic.So пароль должен быть свойством модели представления.

Смежные вопросы