【发布时间】:2010-12-10 11:12:34
【问题描述】:
我有一个模态弹出扩展器,其中有一个用户控件,我在一个 ASP.NET 4.0 项目。 我对它生成的 js 代码和标记中的混乱不太满意:/ 那么,任何可以从代码隐藏中轻松控制的有价值的替代方案:)?
【问题讨论】:
标签: asp.net ajax modalpopupextender
我有一个模态弹出扩展器,其中有一个用户控件,我在一个 ASP.NET 4.0 项目。 我对它生成的 js 代码和标记中的混乱不太满意:/ 那么,任何可以从代码隐藏中轻松控制的有价值的替代方案:)?
【问题讨论】:
标签: asp.net ajax modalpopupextender
在 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 注册脚本并向控件添加事件,从代码隐藏技术上控制这一切。
【讨论】:
您是否查看过 CodePlex 上的 Ajax 控制工具包。 Ajax Control Toolkit 它有几个非常有用的控件,很容易实现。该工具包包括一个模式弹出控件以及一个弹出控件。在我给你的链接中,所有关于如何下载和使用工具包的说明。
如果您可以访问它,另一个选项是 Telerik 控件。他们的 Ajax 控件包括他们所谓的 radWindow,它也能很好地工作。你可以阅读它here。 Telerik 的缺点是它非常昂贵。
我都用过,效果很好。
【讨论】:
使用jQuery Dialog UI,因为这可能会为您提供最佳支持选项。它支持模态行为。
【讨论】: