【问题标题】:How to use a UserControl inside the EditTemplate of a ListVIew?如何在 ListVIew 的 EditTemplate 中使用 UserControl?
【发布时间】:2011-04-21 03:42:44
【问题描述】:

情况如下:

  • 我有一个ListView,它只显示了从数据源对象的不同字段中获得的串联字符串列表。
  • 每行有一个LinkButton(带有CommandName="Edit"
  • OnItemDataBoundOnItemEditing 的事件处理程序
  • EditTemplate 中的用户控件。

现在的问题是,我不知道如何在 UserControl 中使用Bind 表达式。我的意思是,单击链接按钮时如何填充此用户控件? (我尝试在 OnItemEditing 处理程序。但是FindControl 返回了null,因为该处理程序在进入编辑模式之前被调用。)

【问题讨论】:

    标签: asp.net data-binding listview user-controls webforms


    【解决方案1】:
    protected void ListView1_ItemCommand(object sender, ListViewCommandEventArgs e)
    {
        TheClass theControl = (TheClass)e.Item.FindControl("theControl)";
        theControl.someProperty = "bla bla bla";
    }
    

    【讨论】:

    • 问题是,'e.Item.FindControl("theControl)"' 不返回用户控件(在 EditTemplate 中)
    【解决方案2】:

    终于从asp.net论坛得到了答案。解决办法是:

    • 修改 UserControl,使其支持 DataBinding。为此,请实施DefaultBindingPropertyAttributeDetails here.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-29
      相关资源
      最近更新 更多