<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    ASP.NET自定義WEB控件中嵌入JS文件
    一直想做一些自定義控件,能進(jìn)行一些UI上的驗(yàn)證.于是就需要使用到嵌入的JS文件.

    找了一些資料,找了些例子,發(fā)現(xiàn)不行,首先把JS文 件設(shè)為嵌入資源是都有說(shuō)的,
    但[assembly: WebResource("SYJ0.dir0.js1.js", "application/x-javascript", PerformSubstitution = true)]中SYJ0的說(shuō)明就不一樣了.有的說(shuō)是命名空間,有的說(shuō)是項(xiàng)目名.都不是很正確.

    原因分析:這些資料基本上所說(shuō)都是建立的項(xiàng)目和命名空間相同.所以可能不會(huì)遇到問(wèn)題.然而我建立的項(xiàng)目是不同的項(xiàng)目名.
    如:我建立的控件庫(kù)項(xiàng)目名為WebCtrls,然后修改了項(xiàng)目的默認(rèn)命名空間為SYJ0.而在代碼中的命名空間使用了SYJ...(有點(diǎn)混亂).
    所以使用網(wǎng)上找的一些例子就是運(yùn)行不了,要么沒(méi)反應(yīng),要么提示出錯(cuò)...

    最后解決:
    [assembly: WebResource("SYJ0.dir0.js1.js", "application/x-javascript", PerformSubstitution = true)]中SYJ0應(yīng)該是項(xiàng)目屬性窗口的那個(gè)默認(rèn)命名空間名稱(chēng).
    后面跟JS文件的路徑.如SYJ0.dir0.js1.js表示,默認(rèn)命名空間SYJ0下面的dir0目錄下的js1.js文件.
    當(dāng)然 this.Page.ClientScript.RegisterClientScriptResource(this.GetType(), "SYJ0.dir0.js1.js");這句也不要寫(xiě)錯(cuò)了.

    請(qǐng)注意大小寫(xiě),沒(méi)有測(cè)試是否區(qū)分大小寫(xiě),還是注意一下.


    下面是一完整的控件庫(kù)項(xiàng)目的例子:
    [Class1.cs]
    using System;
    using System.Web.UI.WebControls;
    using System.Web.UI;

    [assembly: WebResource("SYJ0.JScript1.js", "application/x-javascript", PerformSubstitution = true)]
    [assembly: WebResource("SYJ0.dir0.js1.js", "application/x-javascript", PerformSubstitution = true)]

    namespace SYJ
    {
    public class STextBox : WebControl, INamingContainer
    {
    protected TextBox textBox = new TextBox();

    protected override void OnPreRender(EventArgs e)
    {
    this.Page.ClientScript.RegisterClientScriptResource(this.GetType(), "SYJ0.JScript1.js");
    this.Page.ClientScript.RegisterClientScriptResource(this.GetType(), "SYJ0.dir0.js1.js");
    base.OnPreRender(e);
    }
    protected override void RenderContents(System.Web.UI.HtmlTextWriter writer)
    {
    this.textBox.Attributes.Add("id", this.ID);
    this.textBox.Attributes.Add("onclick", "msg(this);showTime();");
    this.textBox.RenderControl(writer);
    }
    }
    }

    // JScript1.js
    function msg(obj)
    {
    alert("hello from web control s js file id["+obj.id+"]");
    }

    // dir0.js1.js
    function showTime()
    {
    alert(new Date());
    }

    使用方法:
    用VS2008建一個(gè)解決方案,建立一個(gè)默認(rèn)WEB項(xiàng)目為WebApplication,再建一個(gè)庫(kù)項(xiàng)目.
    將庫(kù)項(xiàng)目的Class1.cs內(nèi)容換成如上的內(nèi)容,再在項(xiàng)目下直接建立一個(gè)JScript.js文件,再直接建立一個(gè)文件夾dir0,在dir0建立一個(gè)js1.js文件,內(nèi)容分別如上所述.
    編譯一下,然后轉(zhuǎn)到WEB項(xiàng)目的ASPX頁(yè)面中,此時(shí)打開(kāi)工具箱,應(yīng)該會(huì)顯示出我們創(chuàng)建的自定義控件STextBox.直接拖一個(gè)到頁(yè)面,CTRL+F5執(zhí)行,點(diǎn)擊輸入框看效果.

    posted on 2010-11-27 21:13 sanmao 閱讀(675) 評(píng)論(0)  編輯  收藏

    只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     

    常用鏈接

    留言簿(5)

    隨筆分類(lèi)

    隨筆檔案

    搜索

    •  

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 99久热只有精品视频免费观看17| 成人a毛片视频免费看| 黄色网站软件app在线观看免费 | 蜜桃成人无码区免费视频网站| 亚洲AV成人潮喷综合网| 成人精品国产亚洲欧洲| 国产高清免费观看| 亚洲欧美中文日韩视频| 好大好硬好爽免费视频| 亚洲欧美日韩综合久久久| 国产高清视频在线免费观看| 亚洲欧好州第一的日产suv| 成人免费a级毛片无码网站入口 | 国产精品hd免费观看| 亚洲国产午夜中文字幕精品黄网站 | 黄在线观看www免费看| 亚洲av永久综合在线观看尤物| 99久久久国产精品免费无卡顿 | 最近中文字幕mv免费高清视频8 | 国产成人不卡亚洲精品91| 波多野结衣中文一区二区免费| 男人和女人高潮免费网站| 国产精品亚洲视频| 久久狠狠躁免费观看| 亚洲日本va午夜中文字幕一区| 久草免费手机视频| 亚洲国产成人精品激情| 国产日产成人免费视频在线观看| 美女视频免费看一区二区| 亚洲欧洲日产国码无码久久99| 色www永久免费网站| 亚洲自偷自偷精品| 女性无套免费网站在线看| 有码人妻在线免费看片| 色婷婷六月亚洲婷婷丁香| 国产精品成人免费一区二区| 四虎国产精品成人免费久久| 亚洲国产高清在线| 国产成人精品男人免费| 久久精品免费观看国产| 亚洲色成人WWW永久在线观看|