0

嗨,基本上我想创建一个控件,可以将弹出窗口添加到在页面标记中声明的 menuItems。我希望语法如下所示:

<uc1:Sidebar id="" runat="server" enablePopup="True">
<PopUpBindings>
<PopedControlId="" BackgroundClass="" TargetItemIndex=""/>
<PopedControlId="" BackgroundClass="" TargetItemIndex=""/>
..
</PopUpBindings>
</uc1:Sidebar>

我可以使用 asmx 页面中的成员字段创建 enablePopUp。像下面

private bool _enablePopup;
public Boolean EnablePopup
{
    get { return _enablePopup; }
    set { _enablePopup = value; }
}

但是在标记 1 中创建绑定集。以前从未这样做过。有人可以对此给出提示。问题2:这个用户控件正在创建,因为modalPopup 无法与Repeater 的Databinding 一起创建。我在中继器 ItemDatabound 事件中尝试了以下操作,但会抛出异常“找不到目标控件 Id = {0}”

mpcpnlNewBp.TargetControlID = e.Item.ID;//open modalpopup
4

1 回答 1

1

您需要的是控件上的Collection 属性- 请参阅 MSDN 中的此示例代码以获得一个想法。

如果需要更多的设计器支持,例如用于编辑属性的 UI,那么您需要创建集合编辑器 - 检查这个相关示例

编辑:使用诸如转发器之类的模板化控件,需要在 Modal Popup 无法做到的正确父控件上下文中找到目标控件。解决方案是使用页面/用户控件上的虚拟(隐藏)控件作为模式弹出窗口的目标控件,然后根据需要使用扩展程序的 java-script API 隐藏/显示弹出窗口(有关客户端 API,请参阅本文) .

于 2011-05-03T08:42:57.057 回答