asp.net中模态弹出扩展器的替代方案?

时间:2010-12-10 11:12:35

标签: asp.net ajax modalpopupextender

我有一个模态弹出扩展器,其中有一个用户控件,我在一个中以多种形式使用它 ASP.NET 4.0项目。 我对它产生的js代码和标记中的混乱不满意:/ 那么,任何可以从代码隐藏中轻松控制的有价值的替代方案:)?

3 个答案:

答案 0 :(得分:2)

在Ajax Control Toolkit的路上,我建议继续使用jQuery或其他一些javascript框架。虽然我理解“从代码隐藏中控制它”的愿望,因为一开始看起来似乎更容易,但尝试在服务器端控件中包装客户端功能通常比它的价值更麻烦。

即使在最简单的情况下,在jQuery(例如)中创建模式弹出窗口所需的javascript代码量也少于使用Ajax Control Toolkit MPE。例如,我喜欢jQuery插件SimpleModal。使用带默认选项的SimpleModal将div转换为模式弹出窗口的代码如下:

   <script type="text/javascript">
    function showPopup() {
        $('#<%=popupDivID.ClientID %>').modal({ appendTo: '#aspnetForm' });
    }
    </script>

然后,您可以将该功能添加到单击事件中,例如。它的灵活性大约要上千倍。

如果您不喜欢在标记文件中嵌入javascript,您仍然可以通过使用ScriptManager注册脚本并向控件添加事件来从代码隐藏中进行技术控制。

答案 1 :(得分:1)

您是否查看了CodePlex上的Ajax Control Toolkit。 Ajax Control Toolkit它有几个非常有用的控件,很容易实现。该工具包包括模态弹出控件以及弹出控件。在我给你的链接中,有关于如何下载和使用工具包的所有说明。

如果您有权访问它,则另一个选项是Telerik控件。他们的Ajax控件包括他们称之为radWindow的东西,它也能很好地工作。你可以阅读它here。 Telerik的缺点是价格昂贵。

我已经使用过它们并且效果很好。

答案 2 :(得分:0)

使用 jQuery Dialog UI,因为这可能会为您提供最佳支持选项。它支持模态行为。