#¬Ü¼Ð= ASP.NET #°Æ¼Ð=Visual Studio 2005 #¤j¼Ð= ASP.NET 2.0 Web Part¶i¶¥»s§@ #§@ªÌ=¤å¡þ¤ý¹çæ -----box----- #µ{¦¡1 using System.IO; using °Ñ¦ÒWebService±o¨ìªºnamespace; void Page_Load(object sender, EventArgs e) { //«Ø¥ß¥N²z©I¥sWeb ServiceªºÃþ§Oªºª«¥ó NewsService ws = new NewsService(); //©I¥sGetCustomNews¤èªk¨ú±o§Y®É·s»D string s = ws.GetCustomNews("Computer"); //±N±o¨ìªºµ²ªG«Ø¦¨StringReaderÃþ§Oªºª«¥ó StringReader sr = new StringReader(s); //«Ø¥ßDataSetÃþ§Oªºª«¥ó DataSet ds = new DataSet(); //Ū¨úStringReaderÃþ§Oªºª«¥óªº¤º®e ds.ReadXml(sr); //±NDataSetÃþ§Oªºª«¥ó·í¦¨DataList±±¨î¶µªº //¸ê®Æ¨Ó·½ DataList1.DataSource = ds.Tables[0]; //°õ¦æÅã¥Ü DataList1.DataBind(); } -----end----- -----box----- #µ{¦¡2 void btnSearch_Click(object sender, EventArgs e) { //«Ø¥ß¥N²z©I¥sWeb ServiceªºÃþ§Oªºª«¥ó NewsService ws = new NewsService(); //©I¥sGetCustomNews¤èªk¨ú±o§Y®É·s»D string s = ws.GetCustomNews(textBox1.Text); //±N±o¨ìªºµ²ªG«Ø¦¨StringReaderÃþ§Oªºª«¥ó StringReader sr = new StringReader(s); //«Ø¥ßDataSetÃþ§Oªºª«¥ó DataSet ds = new DataSet(); //Ū¨úStringReaderÃþ§Oªºª«¥óªº¤º®e ds.ReadXml(sr); //±NDataSetÃþ§Oªºª«¥ó·í¦¨DataList±±¨î¶µªº //¸ê®Æ¨Ó·½ DataList1.DataSource = ds.Tables[0]; //°õ¦æÅã¥Ü DataList1.DataBind(); } -----end----- -----box----- <%@ register tagprefix="UserControlPart" tagname="News" src="NewsPart.ascx" %> -----end----- -----box----- #µ{¦¡3 <%@ Implements Interface= "System.Web.UI.WebControls. WebParts.IWebPart" %> -----end----- -----box----- #µ{¦¡4 using System.Web.UI; using System.Web.UI.WebControls.WebParts; public class Favoriate : WebPart { int m_Counter = 1; DataTable m_Table; } -----end----- -----box----- #µ{¦¡5 [Personalizable()] [WebBrowsable()] public string ZipCode { get { return m_ZipCode; } set { m_ZipCode = value; } } -----end----- -----box----- #µ{¦¡6 protected override void RenderContents (HtmlTextWriter hw) { if (m_Counter < 1) { hw.Write(" ¥¼³]©w[§Úªº³Ì·R]"); return; } DataRow dr = m_Table.NewRow(); dr["Text"] = "¶®ªê©_¼¯"; dr["Href"] = "http://tw.yahoo.com"; m_Table.Rows.Add(dr); BuildUI(hw); } private void BuildUI(HtmlTextWriter hw) { DataGrid dg = new DataGrid(); dg.AutoGenerateColumns = true; dg.Font.Name = "verdana"; dg.Font.Size = FontUnit.Point(8); dg.HeaderStyle.Font.Bold = true; dg.DataSource = m_Table; dg.DataBind(); dg.RenderControl(hw); hw.Write("" + m_Table.Rows.Count + ""); hw.Write("
"); Label l = new Label(); l.Text = "·s¼W§Úªº³Ì·R:"; l.RenderControl(hw); TextBox t = new TextBox(); t.ID = "txtFavoriate"; t.RenderControl(hw); Button b = new Button(); b.Text = "·s¼W"; b.Click+=new EventHandler(b_Click); b.RenderControl(hw); } -----end----- -----box----- #µ{¦¡7 <%@ register tagprefix="WebPartClass" namespace="MyWebPart" Assembly="MyWebPart" %> -----end----- -----box----- #µ{¦¡8 //©w¸qWebPart¤§¶¡¶Ç»¼ªº¸ê®Æªº«¬ºA interface IMotorInfo { int MotorID { get; set; } } -----end----- -----box----- #µ{¦¡9 //¹ê§@¦Û­qªº¤¶­± public class MotorPart : WebPart, IMotorInfo { int m_MotorID = 1; //©w¸q¸ê°T´£¨ÑªÌ¡A¥H¤Î¶Ç»¼µ¹¸ê°T®ø¶OªÌªº¸ê°T [ConnectionProvider("MotorIDProvider", "MotorIDProvider")] private IMotorInfo ProvideMotorInfo() { return this; } } -----end----- -----box----- #µ{¦¡10 public class OrderPart : WebPart { int m_MotorID; //©w¸q¸ê°T®ø¶OªÌ¡A¥H¤Î±µ¦¬ //¨Ó¦Û¸ê°T´£¨ÑªÌªº¸ê°T [ConnectionConsumer("MotorIDConsumer", "MotorIDConsumer")] private void GetMotorInfo(IMotorInfo MotorInfo) { if (MotorInfo != null) { //¨ú¥X¸ê°T´£¨ÑªÌ¶Ç¨Óªº¸ê°T m_MotorID = MotorInfo.MotorID; //¬d¸ß­q³æ FindOrders(); } else { throw(new NotSupportedException( "No connection data found.")); } } } -----end----- -----box----- #µ{¦¡11 -----end----- -----box----- #µ{¦¡12 -----end----- -----box----- #µ{¦¡13 Cannot import this Web Part. True Normal True False NotSet Navigate Default True True True 92108 ‡º All -----end----- -----box----- #µ{¦¡14 <%@ Control Language="C#" CompileWith="DeclarativeCatalogPartDemo.ascx.cs" ClassName="DeclarativeCatalogPartDemo_ascx" %>

Declarative Catalog Part½d¨Ò


-----end----- -----box----- #µ{¦¡15 -----end----- -----box----- #µ{¦¡16 public override WebPartVerbCollection Verbs { get { //«Ø¥ßWebPartVerbÃþ§Oªºª«¥ó¡A //¨Ã«ü©w¨Æ¥ó³B²z¨ç¼Æªº¦WºÙ¬°NextRecord WebPartVerb v = new WebPartVerb(new WebPartEventHandler(NextRecord)); //³]©w¥\¯àªíªº¼ÐÃD¤å¦r v.Text = "¤U¤@µ§"; //³]©w¥\¯àªíªº¥\¯à´£¥Ü v.Description="Ū¨ú¤U¤@µ§²£«~¸ê°T"; //±N°µ¦nªº¥\¯àªí°µ¦¨°}¦C WebPartVerb[] verbs = new WebPartVerb[] { v }; //±N°}¦C°µ¦¨WebPartVerbCollection«á¶Ç¦^ return new WebPartVerbCollection(verbs); } } -----end----- -----box----- #µ{¦¡17 public void NextRecord (object sender, WebPartEventArgs e) { //»¼¼W±ýÂsÄýªº²£«~¥N¸¹ m_MotorID++; //§ïÅÜMotorPart¨Ñ¨Ï¥ÎªÌ //¿é¤J²£«~¥N¸¹ªºTextBoxÅã¥Üªº¤å¦r txt.Text = m_MotorID.ToString(); //©I¥sbtn_Click¤èªk°õ¦æÅã¥Ü²£«~­q³æªº°Ê§@ btn_Click(sender, e); } -----end-----