coolite 为你要删除的记录增加删除验证

<script type="text/javascript">  
function DelSelectedRows()
{
Ext.MessageBox.confirm(
'提示''是否要删除这些记录',function(btn)
{
if (btn == "yes"
{
Coolite.AjaxMethods.DeleteSelectedWorkFlow();
}
});
}
function DelSelected(selectedID)
{
Ext.MessageBox.confirm(
'提示''是否要删除此记录',function(btn)
{
if (btn == "yes"
{
Coolite.AjaxMethods.DeleteWorkFlow(selectedID);
}
});
}
</script>



<ext:Button ID="btnDelete" runat="server"  Text="删除选中" Icon="Delete">
<Listeners>
<Click Fn="DelSelectedRows" />
</Listeners>
</ext:Button>

GridPanel中。。
<Listeners>
<Command Handler="if (command=='Edit'){Coolite.AjaxMethods.EditWorkFlow(record.data.WFWorkFlowID);}else if(command='Delete'){DelSelected(record.data.WFWorkFlowID);}" />
</Listeners>    
<SelectionModel>
<ext:RowSelectionModel ID="RowSelectionModel1" runat="server" />
</SelectionModel> 

5.Coolite的Combobox的setValue和setRawValue
Coolite的Javascript代码中的
Combobox的setValue(record.data['DesktopModuleID']);
将会使SelectedItem的Text和Value都变成
record.data['DesktopModuleID']
所以调用之后应该调用次
Combobox的setRawValue(record.data['FriendlyName']);
会改变Text的值为想显示的,SetRawValue一定要在SetValue之后调用
如以下代码

var selectDesktopModule = function (selectionModel , rowIndex, record) {
<%= DesktopModuleWindow.ClientID %>.hide(null);
hidCtrl.setValue(record.data[
'DesktopModuleID']);
hidCtrl.setRawValue(record.data[
'FriendlyName']);
hidCtrl.triggers[
0].show();
}

6.关于Coolite的AjaxMetod在MasterPage或者CMS系统下使用问题
      在UserControl(ascx),MasterPage或者Page(aspx)中使用Coolite的AjaxMetod讲究是不同的

在MasterPage中或者你在类似DotNetNuke的系统中调用AjaxMetod标志的方法,默认情况下是会找不到方法的,

处理此类问题需要使用AjaxMethodProxyID,使用的方法是在类的前面加上,如下

[AjaxMethodProxyID(IDMode = AjaxMethodProxyIDMode.None)]
partial class ModuleRightManager : PortalModuleBase

我们先看一下几种AjaxMethodProxyID 的区别

1. None -  命名前缀是空的,调用方法时直接使用 Coolite.AjaxMethods.ajaxMethod(...)
2. ClientID - 命名前缀需要加上当前类控件的client id(客户端前缀)

           如Coolite.AjaxMethods.ctl00_UC1.ajaxMethod

           当然通常情况下我们Coolite.AjaxMethods.<%=this.ClientID>.ajaxMethod(...)
3. ID - 使用当前控件ID作为前缀, Coolite.AjaxMethods.UC1.ajaxMethod(...)
4. Alias - 使用别名做前缀,你可以声明自己的一个别名, Coolite.AjaxMethods.myAlias.ajaxMethod(...)
5. AliasPlusID - 别名和ID同时使用,如 Coolite.AjaxMethods.myAliasUC1.ajaxMethod(...)

在有MasterPage页面或者在类似DotNetNuke的CMS系统下使用Coolite的AJAXMethod,建议你在页面的前部加上
    [AjaxMethodProxyID(IDMode = AjaxMethodProxyIDMode.ClientID)]
public partial class PopupCustomerDetail : PortalModuleBase

 

原文:http://hi.baidu.com/xy4mm/blog/item/b46afc54e81c42163b293585.html

posted @ 2009-11-01 01:47  Andy  阅读(551)  评论(0编辑  收藏  举报