asp.net自定义控件中注册Javascript的问题

简介: protected override void OnPreRender(EventArgs e) { base.
        protected override void OnPreRender(EventArgs e)
        {
           
            base.OnPreRender(e);
            RenderJS();
        }

        private void RenderJS()
        {
            if (!Page.ClientScript.IsClientScriptBlockRegistered(SCRIPT_ID))//如果还没有注册语句,则注册
            {
                Page.ClientScript.RegisterClientScriptBlock(this.GetType(),SCRIPT_ID,SCRIPT_CONTENT);
            }
            
        }
        private const string SCRIPT_ID = "5B7A061B93D546A7A2601D56A8738DB9";//自定义标识Guid
        private const string SCRIPT_CONTENT = "<script type=\"text/javascript\">\nvar CB4949501DA_checkDouble = function (data) {\nvar key = event.keyCode;\nif ((key < 48 || key > 57) && key != 46 && key != 45) {\nreturn false;\n}\nelse {\nif (key == 46) {\nif (data.indexOf(\".\") != -1 || data.length == 0)\nreturn false;\n}\nelse if (key == 45) {\nif (data.indexOf(\"-\") != -1 || data.length != 0) {\nreturn false;\n}\n}\n}\nreturn true;\n}\nvar CB4949501DA_checkInt = function (data) {\nvar key = event.keyCode;\n\nif ((key < 48 || key > 57) && key != 45) {\nreturn false;\n}\nelse {\nif (key == 45) {\nif (data.indexOf(\"-\") != -1 || data.length != 0) {\nreturn false;\n}\n}\nelse {\nvar input = String.fromCharCode(key)\nvar intData = parseInt(data + input);\nif (intData > 2147483647 || intData < -2147483648) {\nreturn false;\n}\n}\nreturn true;\n}\nreturn true;\n}\nvar CB4949501DA_checkLong = function (data) {\nvar key = event.keyCode;\n\nif ((key < 48 || key > 57) && key != 45) {\nreturn false;\n}\nelse {\nif (key == 45) {\nif (data.indexOf(\"-\") != -1 || data.length != 0) {\nreturn false;\n}\n}\nelse {\nvar input = String.fromCharCode(key)\nvar longstrData = data + input\nif (longstrData.length > 19) {\nreturn false;\n}\n}\n}\nreturn true;\n}\n</script>\n";

 

再添加代码去调用写入的javascript函数:

protected override void AddAttributesToRender(System.Web.UI.HtmlTextWriter writer)
        {

            base.AddAttributesToRender(writer);
            writer.AddAttribute("onkeypress", "return CB4949501DA_checkLong(this.value);");}


 


另外,引用文件是这样的。。

if (!Page.ClientScript.IsClientScriptIncludeRegistered("引用js文件1"))//如果还没有引用,则引用
            {
                Page.ClientScript.RegisterClientScriptInclude("引用js文件1", "JS/MYJS.JS");
            }

 

 

生成的页面查看源代码效果如下:

<script src="JS/MYJS.JS" type="text/javascript"></script>
<script type="text/javascript">
var CB4949501DA_checkDouble = function (data) {
var key = event.keyCode;
if ((key < 48 || key > 57) && key != 46 && key != 45) {
return false;
}
else {
if (key == 46) {
if (data.indexOf(".") != -1 || data.length == 0)
return false;
}
else if (key == 45) {
if (data.indexOf("-") != -1 || data.length != 0) {
return false;
}
}
}
return true;
}
var CB4949501DA_checkInt = function (data) {
var key = event.keyCode;

if ((key < 48 || key > 57) && key != 45) {
return false;
}
else {
if (key == 45) {
if (data.indexOf("-") != -1 || data.length != 0) {
return false;
}
}
else {
var input = String.fromCharCode(key)
var intData = parseInt(data + input);
if (intData > 2147483647 || intData < -2147483648) {
return false;
}
}
return true;
}
return true;
}
var CB4949501DA_checkLong = function (data) {
var key = event.keyCode;

if ((key < 48 || key > 57) && key != 45) {
return false;
}
else {
if (key == 45) {
if (data.indexOf("-") != -1 || data.length != 0) {
return false;
}
}
else {
var input = String.fromCharCode(key)
var longstrData = data + input
if (longstrData.length > 19) {
return false;
}
}
}
return true;
}
</script>



 

相关文章
|
6月前
|
JavaScript 前端开发 数据安全/隐私保护
Javascript知识【validation插件重写表单注册校验】
Javascript知识【validation插件重写表单注册校验】
|
1月前
|
JavaScript
当当网新用户注册界面——JS代码
当当网新用户注册界面——JS代码
7 0
|
4月前
HTML+CSS+JS实现十款好看的登录注册界面模板,赶紧收藏起来吧!(二)
HTML+CSS+JS实现十款好看的登录注册界面模板,赶紧收藏起来吧!
|
5月前
|
开发框架 前端开发 JavaScript
Asp.net动态加载用户自定义控件,并转换成HTML代码
Asp.net动态加载用户自定义控件,并转换成HTML代码
26 0
|
8月前
|
JavaScript API
小白笔记——vue全局组件注册和全局js引入
小白笔记——vue全局组件注册和全局js引入
239 0
|
10月前
|
前端开发 算法 Java
使用虹软SDK实现离线人脸注册,人脸登录(H5-JS前端,java后台)
一开始找人脸识别的第三方接口,选择了百度,就是发请求给百度的接口,解析人家返回的数据。
|
11月前
|
JavaScript
当当网新用户注册界面——JS代码
当当网新用户注册界面——JS代码
97 0
|
JavaScript 前端开发 数据安全/隐私保护
HTML与JavaScript实现注册页面
本文讲解:HTML与JavaScript实现注册页面
|
前端开发
一个注册页面的前端模板(html+css+javascript)可自适应屏幕
一个注册页面的前端模板(html+css+javascript)可自适应屏幕,修改样式即可用。
190 0
一个注册页面的前端模板(html+css+javascript)可自适应屏幕
|
JSON API 数据格式
.net core工具组件系列之Autofac—— 第一篇:Autofac系列Autofac的几种常见注册方式、生命周期和AOP
使用Autofac进行服务注册实践:新建三个项目,分别是webapi项目 Wesky.Core.Autofac以及两个类库项目 Wesky.Core.Interface和Wesky.Core.Service。在Webapi项目下,引用Autofac的三个包:Autofac、Autofac.Configuration和Autofac.Extensions.DependencyInjection 。
988 0
.net core工具组件系列之Autofac—— 第一篇:Autofac系列Autofac的几种常见注册方式、生命周期和AOP