我对 ASP.NET 网站使用模型视图演示器方法。演示部分在单独的类库中编译,其中定义了视图契约和演示者:
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 属性后,myLabel
再次变为 null,就好像没有完成任何分配一样。myButton
无论如何,如果您将单击事件中的唯一行替换为直接设置myLabel
Text 属性,则所有内容都将保持分配状态。