我正在开发一个webform项目,我想实现MVP模式。 我已经经历了几篇基于MVP的文章和项目。对我来说似乎很好。MVP模式,接口,网络表单中的错误消息显示
在绝大多数地方,如果有任何需要显示错误信息,在视图界面中已经制作了一个方法 。为了清楚起见,我在这里举一个例子。
public interface IAdminSettingsView
{
string Name { get; set; }
string Password { get; set; }
string Email { get; set; }
void ShowErrorMessage(string errorMessage);
}
这里是我的控制实现IAdminSettingsView
public partial class AdminSettingsEdit : BaseControl, IAdminSettingsView
{
private AdminSettingsPresenter _adminSettingsPresenter;
protected void Page_Load(object sender, EventArgs e)
{
}
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
_adminSettingsPresenter = new AdminSettingsPresenter(this);
}
protected void BtnSave_Click(object sender, EventArgs e)
{
_adminSettingsPresenter.Save();
}
#region Implementation of IAdminSettingsView
public string Name
{
get { return AdminName.Text; }
set { AdminName.Text = value; }
}
public string Password
{
get { return AdminPassword.Text; }
set { AdminPassword.Text = value; }
}
public string Email
{
get { return AdminEmail.Text; }
set { AdminEmail.Text = value; }
}
public void ShowErrorMessage(string errorMessage)
{
lblErrorMessage.Text = errorMessage;
}
#endregion
}
这里是我的演讲
public class AdminSettingsPresenter
{
public AdminSettingsPresenter(IAdminSettingsView view)
{
_view = view;
}
private IAdminSettingsView _view;
public void Save()
{
try
{
//Trying Save Data Here
}
catch (Exception exception)
{
_view.ShowErrorMessage("Couldnt Save Data");
}
}
}
我的问题是,我怎么能单独错误相关的消息到不同的接口,然后作出他们之间的沟通。例如,如果我有一个接口
interface IShowErrorMessage
{
//somemethod here
}
如何使用这个接口与我的主要IAdminSettingsView接口工作。
您的帮助将不胜感激。如果这个问题有更好的解决方案,我很乐意听到。
问候 成员Parminder