Coolite 基本用法(2)
一、
1。Coolite下如何自定义控件样式表
Coolite和EXT的自定义CSS方法就是这样, 按照标准名字定义样式就行了
如.x-grid3-summary-row, 自动识别,如果还不明白,可以下载个ExtJS,进入到ext.css里面就能看到所有CSS的名字
2.
(1)Coolite控件语言包问题,如Grid,和日期类型控件,汉化的方法
<asp:ScriptManager ID="ScriptManager2"runat="server">
<Scripts>
<asp:ScriptReference Path="ext-lang-zh_CN.js"/>
</Scripts>
</asp:ScriptManager>
(2)ScriptManager问题,如果一个页面内同时出现两个ScriptManager就会报错(导致一个页面不能做多个管理模块),如果实现让“模块”运行时,检查当前页面,是否其他模块已经存在ScriptManager,存在就不注册新的
Coolite.Ext.Web.ScriptManager scmanager=Coolite.Ext.Web.ScriptManager.GetCurrent(this.Page);
if(scmanager==null)
{
scmanager=newCoolite.Ext.Web.ScriptManager();
this.Controls.Add(scmanager);
}
(3)针对上面两个问题,我们在DNN在使用Coolite,并且调用汉化包,要这样使用
if(!Page.IsPostBack)
{
Coolite.Ext.Web.ScriptManager scmanager=Coolite.Ext.Web.ScriptManager.GetCurrent(this.Page);
if(scmanager==null)
{
scmanager=newCoolite.Ext.Web.ScriptManager();
this.Controls.Add(scmanager);
}
if(DotNetNuke.Framework.AJAX.IsInstalled())
{
DotNetNuke.Framework.AJAX.RegisterScriptManager();
System.Web.UI.ScriptManager objScriptManager=System.Web.UI.ScriptManager.GetCurrent(this.Page);
if(objScriptManager!=null)
{
ScriptReference scr=newScriptReference("~/js/ext-lang-zh_CN.js");
objScriptManager.Scripts.Add(scr);
}
}
3.Coolite和<%=this.ClientID %>
我们建立一个普通的ASP.NET网站,编写如下代码
HTML:
<ext:GridPanel
runat="server"
ID="GridPanel1"
JS:
functionMSG()
{
alert(GridPanel1);
}
这样是实现的, 但是同样把类似代码移到DotNetNuke下去实现
<ext:GridPanel
runat="server"
ID="DocmentGridPanel"
Title="公文管理"
StoreID="StoreDocumentType"
Height="500"Header="false">
。。。。。。。。。
JS:
function MSG()
{
alert(DocmentGridPanel);
}
这样确实出错的,找不到对象DocumentGridPanel...
如何解决这个问题呢?
我观察两种代码生成的客户端代码
普通网站项目,查看页面代码
<input name="GridPanel1_SM" type="hidden" id="GridPanel1_SM" />
DNN外面有个dnn_ctr1486_DocumentType代表这个模块框
<input name="dnn$ctr1486$DocumentType$DocmentGridPanel_SM" type="hidden" id="dnn_ctr1486_DocumentType_DocmentGridPanel_SM" />
就有点明白了,DNN所有控件的外层包裹一个"容器".
我们用如下方法
<%=this.ClientID %>_DocmentGridPanel
就可以实现了
alert(<%=this.ClientID %>_DocmentGridPanel);
4.为你要删除的记录增加删除验证(Coolite)
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之后调用
如以下代码
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)]
publicpartialclassPopupCustomerDetail : PortalModuleBase
分享到:
相关推荐
Coolite笔Coolite笔记Coolite笔记
coolite MVC coolite MVC coolite MVC coolite MVC coolite MVC
coolite 0.8 类库文档coolite 0.8 类库文档coolite 0.8 类库文档coolite 0.8 类库文档
coolite教程 coolite教程.pdf coolite教程.pdf coolite教程.pdf coolite教程.pdf
coolite学习笔记coolite学习笔记coolite学习笔记coolite学习笔记
coolite 0.8中文类库 Coolite Toolkit是基于跨浏览器的ExtJS 库开发而来的,是一个支持ASP.NET AJAX的Web控件,并且简化了开发步骤。
无论你需要coolite什么样的demo,这里面都包含了
coolite简介,学习extjs 的朋友们请注意了哦!
coolite 代码教程:1.入门 2.程序设计 3.基础用法 4 组件的使用
使用coolite才发现做漂亮的系统界面易如反掌!
Coolite Toolkit Professional v0.8.2.rar
辛苦搜集的coolite内置图标给大家分享!
正式版以发布,请到官方下载 http://www.coolite.com/download/ Demo可以到这下载 http://download.csdn.net/source/912868(正式版)
Coolite Toolkit介绍 Coolite Toolkit 是一个支持ASP.NET AJAX的Web控件。 Coolite Toolkit是基于跨浏览器的ExtJS 库开发而来的,并且简化了开发步骤,并且包含有丰富的Ajax运用。 Coolite Toolkit和ExtJS 都是...
Coolite ExtJs Coolite 1.0 Preview 加 Example源码 Example源码比较难找 版本是 1.0.0.34580
ext 的.NET 控件,新手入门用
很好的extjs控件,适合asp.net开发,源码可以根据需要进行修改,项目使用时只需引用Coolite.Examples/bin目录下面的两个dll文件(Coolite.Ext.UX.dll和Coolite.Ext.Web.dll)即可。
自己制作的Coolite学习文档,并且每一个都有对应的C#和asp.net实例源码。
Coolite源码Coolite源码Coolite源码Coolite源码Coolite源码Coolite源码,可以直接运行.本地浏览.
Coolite ASP.NET Web控件包含有1700多个图标,现在所有的图标都展示出来!