服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - ASP.NET教程 - asp.net自定义控件中注册Javascript问题解决方案

asp.net自定义控件中注册Javascript问题解决方案

2019-12-04 10:49ASP.NET教程网 ASP.NET教程

这篇文章主要介绍了asp.net自定义控件中注册Javascript的问题,需要的朋友可以参考下

代码如下:


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 <span style="color:#ff0000;">CB4949501DA_checkLong </span>= 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 <span style="color:#ff0000;">CB4949501DA_checkLong</span>(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> 

延伸 · 阅读

精彩推荐