自定义SelectedValue属性

时间:2009-12-11 16:35:24

标签: asp.net custom-controls selectedvalue

我正在使用 autoComplete 功能创建一个完全自定义(仅从WebControl继承) combobox / dropdownlist 搜索控件。

JQuery处理为列表项(包含字符串的div)分配 onhover和onclick事件,并处理Web服务调用以获取匹配文本的项目列表。

服务器处理自定义属性并控制渲染。

问题是我需要实现一个类似于 SelectedValue 的属性,这样当用户从搜索结果中选择一个项目时,该值可以在服务器上用于其他处理。我做了几天的研究,但没有找到一种清晰,简洁的方法来处理回发数据。

我确实读过一篇提到实现 IPostBackDataHandler 接口的博客,但RaisePostDataChangeEvent()的实现调用了一个我没有实现的服务器方法(如SelectedIndexChange)此刻。

public void RaisePostDataChangedEvent()
{
    this.SelectedIndexChanged(EventArgs.Empty);
}

现在提出问题:有没有人有处理此问题的建议?或者我最好只是继承下拉列表控件并覆盖现有功能?

我觉得我错过了一件非常适合这一切的小作品。

1 个答案:

答案 0 :(得分:0)

您是否考虑过从Microsoft的源服务器下载源代码并了解它们如何实现DropDownList?这样你就可以看到他们如何解决问题的绑定和事件部分,并让你知道它的作用。通过这种方式,您可以决定是否要继承它,或者您是否可以借用一些关于如何实现IPostBackDataHandler的想法。

由于我不知道你具体做了什么,我不能建议你是否应该继续下拉,但根据我对你所做的事情的印象我会说你可能没有。

您也可以从AjaxControlToolkit查看源代码,因为它具有类似的组件。同样,您可以获得有关如何处理这些特定事物的想法,并根据您自己的需要进行调整。