asp. net custom control registers the Javascript problem solution

  • 2020-12-20 03:32:41
  • OfStack

 
protected override void OnPreRender(EventArgs e) 
{ 

base.OnPreRender(e); 
RenderJS(); 
} 

private void RenderJS() 
{ 
if (!Page.ClientScript.IsClientScriptBlockRegistered(SCRIPT_ID))// If no statement has been registered, register  
{ 
Page.ClientScript.RegisterClientScriptBlock(this.GetType(),SCRIPT_ID,SCRIPT_CONTENT); 
} 

} 
private const string SCRIPT_ID = "5B7A061B93D546A7A2601D56A8738DB9";// Custom id 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"; 

Add code to call the written javascript function:
 
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);");} 

In addition, the reference file looks like this.
 
if (!Page.ClientScript.IsClientScriptIncludeRegistered(" reference js file 1"))// If no reference has been made, a reference is made  
{ 
Page.ClientScript.RegisterClientScriptInclude(" reference js file 1", "JS/MYJS.JS"); 
} 

The generated page looks like this:
 
<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> 


Related articles: