BloggerAds廣告

2012年7月23日 星期一

VWD伺服器控制項實作


1Visual Web Developer 2008 Express
檔案®新增專案®Visual C#®Web®ASP.NET 伺服器控制項

2、在方案總管中加入兩個資料夾ImagesSound,將jpg檔及mp3檔分別加入其中。
     將footstep.jpg和腳步.mp3的屬性®建置動作,設為內嵌資源。


3、在SvrControl.cs中加入

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

// 加入 WebResource
// JSControl namespace名稱
// Images.footstep.jpg是專案下之檔案路徑
[assembly: WebResource("JSControl.Images.footstep.jpg", "image/jpg")]
[assembly: WebResource("JSControl.Sound.腳步.mp3", "audio/mpegurl")]

namespace JSControl
{
    [DefaultProperty("Text")]
    [ToolboxData("<{0}:JSEmbedded runat=server>")]
    public class JSEmbedded : WebControl
    {
        [Bindable(true)]
        [Category("Appearance")]
        [DefaultValue("")]
        [Localizable(true)]
        public string Text
        {
            get
            {
                String s = (String)ViewState["Text"];
                return ((s == null) ? "[" + this.ID + "]" : s);
            }

            set
            {
                ViewState["Text"] = value;
            }
        }

        protected override void RenderContents(HtmlTextWriter output)
        {
            //output.Write(Text);
            // Display picture
            string str = Page.ClientScript.GetWebResourceUrl(typeof(JSEmbedded), "JSControl.Images.footstep.jpg");
            Image image = new Image();
            image.ImageUrl = str;
            image.ImageAlign = ImageAlign.Middle;
            image.AlternateText = "Foot Step";   
            image.RenderControl(output);

            output.WriteBreak();
            output.WriteBreak();
            //output.Write("Hello show picture!");

            // Play music
            string strSoundPath = Page.ClientScript.GetWebResourceUrl(typeof(JSEmbedded), "JSControl.Sound.腳步.mp3");

            output.Write("<EMBED id='sound' src='" + strSoundPath + "' border=0 autostart=false loop=true></EMBED>");



        }
    }
}

4、存檔後,建置JSControl專案

編譯完成-- 0 個錯誤,0 個警告
JSControl -&gt; G:\jsbird\visualwebdeveloper\JSControl\JSControl\bin\Debug\JSControl.dll
========== 全部重建: 1 成功、失敗、0 略過==========

5、將JSControl.dll加入 .NET Framework 元件
工具®選擇工具箱項目®瀏覽,開啟JSControl.dll


6、關閉JSControl專案,新增一個ASP.NET Web應用程式

7、在Default.aspx中加入JSEmbedded元件




8、存檔後,在IE中瀏覽Default.aspx