如何在ASP.NET AJAX ModalPopupExtender中进行服务器往返?

时间:2009-06-10 14:38:17

标签: asp.net-ajax

想象一下带有“客户端”输入字段的ASP.NET数据输入表单。可能的客户数据集数以百万计。我想做的是在表单上放置一个标有“查找客户端”的asp:LinkBut​​ton控件,它将启动一个模态AJAX表单,允许用户按字段搜索,如姓/姓,地址,电话等,并显示与搜索参数匹配的客户网格,用户将从中选择客户端,模态形式消失,然后LinkBut​​ton读取类似“John Smith(单击以获取更多信息)”的内容,并将clientID存储为非 - 可见的表格领域。

我的计划是使用链接到ModalPopupExtender控件的ASP:UpdatePanel,但我遇到的问题是,只要在ModalPopupExtender表单(1)上单击ASP:Button控件,它似乎不会实际运行代码隐藏代码(断点未被命中),以及(2)即使单击的按钮不是OkControlID或CancelControlID,模态窗口也会消失。

以所有这些为背景,我的问题是:我如何实现我在此描述的内容?我是否在正确的轨道上,或者我正在尝试做的事情是超出ModalPopupExtender控件的范围? (如果是后者,正确的方式是什么?)

1 个答案:

答案 0 :(得分:0)

将包含UpdatePanel的面板放入其中。在updatePanel中,您将拥有搜索的网格/搜索文本框/搜索按钮等。现在在面板之外,放置“查找客户端”链接和ModalPopupExtender(链接第一个Panel,而不是更新面板)。

最后,您需要将该信息传回主表单。无论是javascript,整个页面上的完整回发,还是您正在添加客户端的控件周围的其他更新面板都可以使用,这取决于您拥有的内容。

但就个人而言,我宁愿在javascript中实现搜索/表,只需要一个简单的Web服务来查找用户并返回JSON。根据我的经验,UpdatePanels非常沉重,最终导致比你想象的更多的麻烦..