C1 ASP.NET WebForm控件提供了创建 Web 应用程序的套包,它包含了 50 多款控件。每个控件都有其内置的属性、方法和事件用于定制控件行为。同时,也支持对控件进行继承并扩展。 但是,有两个问题需要解决 1.继承 Wijmo 控件时遇到以下错误: “Microsoft JScript runtime error: Object doesn’t support property or method ‘objectName’.” 错误原因是 Wijmo 控件会根据控件类名向客户端注册 js 资源,资源名称为类名的小写形式,例如控件名称为MyCustomWijmo,在客户端 js 资源名称为:mycustomwijmo。解决方法是重写事件,加入以下代码 - this.Page.ClientScript.RegisterStartupScript(this.GetType(), this.ID + "_script", "<script>$.fn.mycustomwijmo = $.fn.c1treeview</script>");
复制代码
2.另一个问题是,继承 Wijmo 控件后,在提交等触发Postback的操作时,输入型控件的值会消失, 错误的原因是Postback时,Wijmo控件会重新初始化,解决办法是继续在OnPreRender事件中加入如下的代码: - this.Page.ClientScript.RegisterOnSubmitStatement(this.GetType(), this.ID, "$('#" + this.ClientID + "').wijSaveState('c1inputdate');");
复制代码
以下为继承一个C1InputText整理后的完整代码 - <blockquote><blockquote> public partial class MyCustomWijmo : C1.Web.Wijmo.Controls.C1Input.C1InputText
复制代码
详情请参考附件中的示例代码
|