自定义控件中不引人注目的Ajax支持

时间:2015-04-23 21:18:43

标签: c# asp.net ajax

我有一个非常简单Custom Control派生自HierarchicalDataBoundControl并用于使用HierarchicalObjectDataSource呈现菜单(以及链接列表)。我使用了一个可用的示例@CSTrüter,如果有人会感兴趣的话,并将其扩展一点。

现在我正在尝试进一步扩展它以支持不引人注目的AJAX,但不是模仿anchors,而是模仿Ajax.ActionLink的输出,不幸的是直到现在还没有成功,我认为也许我的方法是错的,这就是原因。目前,此控件可以与标记<cc:Menu runat="server"...的形式一起使用,另一个标记定义菜单的来源,IDDataSourceID属性的菜单标记中定义。我认为我可以将Ajax对象传递给渲染函数并使用原始Ajax.ActionLink方法,但是......为了使控件可以{{1}的形式使用<%: cc.Menu.Render(Ajax,...) %>方法应该是静态的,因此菜单不能限制为源。现在,我可以在这个静态方法中实例化一个新的cc.Menu,但它不会绑定,因为它不参与页面布局,但如果我将它添加到控件集合(假设我将通过也是Render对象),由于在迭代过程中更改了集合,因此页面将不会呈现。

如果有人指出我其他方向,我会很高兴。也许某种程度上我可以传递一个Page对象作为菜单标签的一个属性?如果是,那么我如何从控件中获取Ajax对象?或者可能有另一种方式来模仿AjaxOptions的输出?

0 个答案:

没有答案