今天用dnn做一个列表里边有一个删除操作,就想做个对话框确定是否删除?
正常理解马上想到js的confirm("")函数,但是发现Dnn把这个函数给重写啦,弹出的对话框竟然是英文的。
经过一番查找终于找到的对应的解决办法,其实主要是这方面的中文资料太少啦,解决起来很容易。
第一种办法是:
后台引用 using DotNetNuke.UI.Utilities;命名空间 (如果模块里没有引用模块一定要先引用DotNetNuke.WebUtility)
然后:ClientAPI.AddButtonConfirm(前台按钮id, "说明性文字");
第二种办法是前台直接使用dnn的js函数(推荐):
<script type="text/javascript">
$(document).ready(function () {
$(‘.delStyle‘).dnnConfirm({
text: ‘确定删除嘛‘,
yesText: ‘是‘,
noText: ‘否‘,
title: ‘删除‘
});
});
</script>
<a href="#" class="delStyle"></a>
如上就可以啦,不过第二种办法我试过只对<a></a> 或者是linkbutton这样的元素好使,input 按就不行啦。但是第一种就没限制。
以上参考上国外网站的:
http://www.dnncreative.com/Forum/tabid/88/aft/33259/Default.aspx
http://mitchelsellers.com/blogs/2008/05/19/delete-confirmation-the-easy-way-in-dnn.aspx
程序源文件中的 Modules\MobileManagement\Views\RedirectionManagerView.ascx 也能找到引用代码
Modules\CoreMessaging\View.ascx的
conversationUnarchivedText: ‘<%=DotNetNuke.UI.Utilities.ClientAPI.GetSafeJSString(LocalizeString("ConversationUnarchived"))%>‘,
notificationConfirmTitleText: ‘<%=DotNetNuke.UI.Utilities.ClientAPI.GetSafeJSString(LocalizeString("NotificationConfirmTitle"))%>‘,
notificationConfirmYesText: ‘<%=DotNetNuke.UI.Utilities.ClientAPI.GetSafeJSString(LocalizeString("NotificationConfirmYes"))%>‘,
notificationConfirmNoText: ‘<%=DotNetNuke.UI.Utilities.ClientAPI.GetSafeJSString(LocalizeString("NotificationConfirmNo"))%>‘,
也可以修改相应的资料文件,但是我改后没用。呵呵