0

私は、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に置き換えると、すべてが割り当てられたままになります。myButtonmyLabel

4

1 に答える 1

1

メソッドはGeneratenull 以外の文字列を返しますか? この場合の唯一の犯人のようです。myLabelまた、設定が直接機能する理由も説明できます。

診断するView.DisplayTextには、 を呼び出す代わりにリテラル文字列を に渡しGenerateます。

于 2012-10-09T20:23:15.973 に答える