這篇文章主要介紹“如何解決asp.net自定義控件中注冊Javascript的問題”,在日常操作中,相信很多人在如何解決asp.net自定義控件中注冊Javascript的問題問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何解決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 >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 >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自定義控件中注冊Javascript的問題-創新互聯
新聞來源:http://vcdvsql.cn/article18/jeogp.html
成都網站建設公司_創新互聯,為您提供網站營銷、網站設計、外貿網站建設、網站維護、網站導航、企業建站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯