手机
当前位置:查字典教程网 >编程开发 >asp.net教程 >asp.net自定义控件中注册Javascript问题解决方案
asp.net自定义控件中注册Javascript问题解决方案
摘要:复制代码代码如下:protectedoverridevoidOnPreRender(EventArgse){base.OnPreRender...

复制代码 代码如下:

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;nnif ((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>CB4949501DA_checkLong </span>= function (data) {nvar key = event.keyCode;nnif ((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 + inputnif (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>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>

【asp.net自定义控件中注册Javascript问题解决方案】相关文章:

asp.net中C++单例实现问题分析

asp.net post方法中参数取不出来的解决方法

asp.net 因为数据库正在使用的解决方法

asp.net动态加载自定义控件的方法

Ajax.net Sys未定义错误解决办法

asp.net WebForm页面间传值方法

asp.net动态载入用户控件的方法

asp.net下url传递中文的解决方案

asp.net“服务器应用程序不可用” 解决方法

asp.net 上传大文件解决方案

精品推荐
分类导航