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 = "\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");
}

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



你可能感兴趣的:(asp.net自定义控件中注册Javascript问题解决方案)