私は、ASP.NET Web サイトに対してモデル ビュー プレゼンター アプローチを使用しています。プレゼンテーション部分は、ビュー コントラクトとプレゼンターが定義されている別のクラス ライブラリにコンパイルされます。
MyPresentation assembly
IMyView
{
DisplayText(string text);
}
MyPresenter
{
public IMyView View { get; set; }
public DisplayText()
{
string text = Generate();
View.DisplayText(text);
}
}
MyWebApplication assembly
public partial class MyForm : System.Web.UI.Page, IMyView
{
public void DisplayText(string text)
{
this.myLabel.Text = text;
}
...
protected void myButton_Click(object sender, EventArgs e)
{
Presenter.DisplayText(); // calls this.DisplayText()
}
}
ただし、割り当てが行われていないかのように、のPresenter.DisplayText()
Text プロパティからステップアウトすると、再び null になります。クリックイベントの唯一の行をText プロパティの直接設定myLabel
に置き換えると、すべてが割り当てられたままになります。myButton
myLabel