2016-05-01 5 views
1

Итак, я реализую MVP в веб-формах ASP.NET.Куда поместить View logic в MVP?

Мне нужно изменить цвет метки в зависимости от состояния некоторых данных.

Моя первая попытка:

class Presenter 
{ 
    ... 
    _view.IsStatusTrue = true; 
} 

class View 
{ 
    bool IsStatusTrue 
    { 
     set 
     { 
      if(value) 
      { 
       lbl.Text = "Status is true :)"; 
       lbl.CssClass = "trueClass"; 
      } 
     } 
    } 
} 

Мой вопрос: является ли эта логика должна быть в Presenter?

class Presenter 
{ 
    ... 
    if(status == true) 
    { 
     _view.LblCssClass = "trueClass"; 
     _view.StatusText = "Status is true :)"; 
    } 
} 

ответ

0
public class Presenter 
{ 
    bool _status; 
    IView _view; 

    public Presenter(IView view) 
    { 
     _view = view; 

     if (_status) 
     { 
      _view.LabelColorCode = "#c2d8ff"; 
      _view.LabelText = "Status is true"; 
     } 
    } 
} 

public interface IView 
{ 
    string LabelColorCode { set; } 
    string LabelText { set; } 
}