【问题标题】:Model View Presenter - how to show selected item in a Drop Down List?模型视图演示者 - 如何在下拉列表中显示所选项目?
【发布时间】:2010-07-23 18:08:48
【问题描述】:

我正在使用 Model-View-Presenter 框架。加载页面时,我无法设置来自数据库的选定项目。

在视图中,我知道我需要:

protected void ddlStatus_SelectedIndexChanged(object sender, EventArgs e)
{
    presenter.DdlStatusSelectedIndexChanged();
// what should this pass?
}

Then in Presenter:
public void DdlStatusSelectedIndexChanged()
{
   view.DdlStatus = ???
// Should I pass the SelectedIndex?
}

我也认为我的部分问题是 DdlStatus 我有一个列表。 接口:

List<StatusDTO> DdlStatus { set; get; }

有人有一些简单的例子吗? 我找到的最好的在这里(但需要格式化!)---> http://codebetter.com/blogs/jeremy.miller/archive/2006/02/01/137457.aspx

谢谢!

【问题讨论】:

    标签: asp.net drop-down-menu mvp


    【解决方案1】:

    您使用的是哪个框架?演示者/视图关系的典型工作方式是通过事件;视图定义了演示者附加到的事件,以接收这些状态更改通知。还有其他选择。

    您的模型应包含状态列表和选定状态。根据 MVP 的“风格”,您可以让演示者调用视图上的属性以将所选索引传递给它,然后您的视图会将其传递给控件,​​或者视图直接从模型中获取索引。

    HTH。

    【讨论】:

    • 您使用的是 webformsmvp 产品,还是您自己的实现?
    【解决方案2】:

    我想通了。这有点像奶酪,但是...

    public int DdlStatusSelectedIndex
    {   
      set
      {
         for (int i = 0; i < ddlStatus.Items.Count; i++)
         {
            if (ddlStatus.Items[i].Value.Equals(value.ToString()))
            {
               ddlStatus.SelectedIndex = value;
            }
         }
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-02
      • 2018-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-05
      • 1970-01-01
      相关资源
      最近更新 更多