我正在開發一個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