1

应用程序正在使用 MVP - 被动视图模式,我们了解到 aspx.cs 中的所有事件都需要调用演示者方法,而不是直接访问模型。

我们正在使用 gridview 来显示数据,并且必须根据标志更改列颜色之一,并且需要附加一些文本。但是,我们不确定如何将下面的代码移动到演示者以便能够编写单元测试。

protected void dqGrid_RowDataBound(object sender, System.Web.UI.WebControls.GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
  var creditOrDebit = ((Label)e.Row.FindControl("lblCreditOrDebit")).Text;
  if(creditOrDebit == "Debit")
  {
     Label lblAmount = ((Label)e.Row.FindControl("lblAmount"));
     lblAmount.CssClass = "txtRed";
     lblAmount.Text = "-" + lblAmount.Text;
  }
}
}

编辑:

我们曾想过在presenter中有一个函数,它将amount作为输入并返回css,但作为指导,我们看到presenter中的所有方法都需要为void,因为它已经具有View属性。

4

0 回答 0