#¬Ü¼Ð= 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-----