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

2025-05-29 0 39

代码如下:


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>

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 asp.net自定义控件中注册Javascript问题解决方案 https://www.kuaiidc.com/102706.html

相关文章

发表评论
暂无评论