我的一亩三分地 我就喜欢!
13fen  设为主页
 收藏本站
 
当前位置: > 一亩三分地:首页 > 网络学院 > 网络编程 > ASP专区 > Asp基础/应用 > 制作一个简单的服务器端控制
热门文章排行
热门文章排行 手推车”功能的实现(10-07)
八大法则防范ASP网站漏洞(10-23)
在JSP中访问数据库大全(10-23)
ASP教程十一、调试ASP脚本(10-23)
虚机服务中常见Asp.Net低级错误一览(03-21)
精采文章排行
精采文章排行 ASP.NET实现抓取网页中的链接(11-15)
ASP连接数据库的11种方法(11-10)
如何动态创建网页的RSS内容摘要(11-10)
ASP网站漏洞及入侵防范方法(11-10)
ASP自定义函数:对字符串正则替换(11-10)
技术专题推荐
网管论坛交流
 

制作一个简单的服务器端控制 

作者:佚名   来源:本站教程   点击:   日期:2007-03-21

2000082805.aspx
-------------------------------------------------------------
<%@ Register TagPrefix="CJ" Namespace="cjServerControls" %>
<html>
<head>
</head>
<body>

<form method="post" action="2000082605.aspx" runat="server">
<CJ:xmlDocReader listText="au_id" listValue="au_id" runat="server"
path="C:\Inetpub\wwwroot\myASP\tutorials\authors.xml" />
</form>

</body>
</html>


2000082805a.cs
-------------------------------------------------------------
using System;
using System.Data;
using System.IO;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace cjServerControls
{
public class xmlDocReader : Control, INamingContainer
{
string _xmlPath;
string _listID;
string _listValue;

public string Path
{
get { return _xmlPath; }
set { _xmlPath = value; }
}

public string listText
{
get { return _listID; }
set { _listID = value; }
}

public string listValue
{
get {return _listValue; }
set {_listValue = value; }
}

//Were are creating a member here so we can access it throughout the class
DropDownList _DDL;
DataGrid _DG;
FileStream fs;
StreamReader sr;
DataSet ds;
protected override void PreRender()
{
if (Page.IsPostBack) {
DataView dv = new DataView(ds.Tables[0]);
dv.RowFilter = listValue + "='" + _DDL.SelectedItem.Text + "'";
_DG = new DataGrid();
_DG.DataSource = dv;
_DG.DataBind();
Controls.Add(_DG);
}
}


protected override void CreateChildControls()
{
fs = new FileStream(Path, FileMode.Open, FileAccess.Read);
sr = new StreamReader(fs);
ds = new DataSet();
ds.ReadXml(sr);
fs.Close();

_DDL = new DropDownList();
_DDL.DataTextField = listText;
_DDL.DataValueField = listValue;
_DDL.AutoPostBack = true;
_DDL.DataSource = ds.Tables[0].DefaultView;
_DDL.DataBind();
Controls.Add(_DDL);


}
}
}

authors.xml
-------------------------------------------------------------
<root>
<schema id="DocumentElement" targetNamespace="" xmlns="http://www.w3.org/1999/XMLSchema"
xmlns:xdo="urn:schemas-microsoft-com:xml-xdo" xdo:DataSetName="DocumentElement">
<element name="Table">
<complexType content="elementOnly">
<element name="au_id" type="string"></element>
<element name="au_lname" type="string"></element>
<element name="au_fname" type="string"></element>
<element name="phone" type="string"></element>
<element name="address" minOccurs="0" type="string"></element>
<element name="city" minOccurs="0" type="string"></element>
<element name="state" minOccurs="0" type="string"></element>
<element name="zip" minOccurs="0" type="string"></element>
<element name="contract" type="boolean"></element>
</complexType>
<unique name="Constraint1" xdo:PrimaryKey="True">
<selector>.</selector>
<field>au_id</field>
</unique>
</element>
</schema>
<DocumentElement>
<Table>
<au_id>000-00-0000</au_id>
<au_lname>Doe</au_lname>
<au_fname>John</au_fname>
<phone>foo </phone>
<address>One Microsoft Way</address>
<city>Redmond</city>
<state>CA</state>
<zip>98005</zip>
<contract>True</contract>
</Table>
<Table>
<au_id>000-00-0123</au_id>
<au_lname>Millington</au_lname>
<au_fname>John</au_fname>
<phone>808 555-5555</phone>
<address>One Microsoft Way</address>
<city>Redmond</city>
<state>CA</state>
<zip>98005</zip>
<contract>False</contract>
</Table>
<Table>
<au_id>172-32-1176</au_id>
<au_lname>White</au_lname>
<au_fname>Johnson</au_fname>
<phone>408 496-7223</phone>
<address>10932 Bigge Rd.</address>
<city>Menlo Park</city>
<state>CA</state>
<zip>94025</zip>
<contract>True</contract>
</Table>
<Table>
<au_id>213-46-8915</au_id>
<au_lname>Green</au_lname>
<au_fname>Marjorie</au_fname>
<phone>415 986-7020</phone>
<address>309 63rd St. #411</address>
<city>Oakland</city>
<state>CA</state>
<zip>94618</zip>
<contract>True</contract>
</Table>
<Table>
<au_id>238-95-7766</au_id>
<au_lname>Carson</au_lname>
<au_fname>Cheryl</au_fname>
<phone>415 548-7723</phone>
<address>589 Darwin Ln.</address>
<city>Berkeley</city>
<state>CA</state>
<zip>94705</zip>
<contract>True</contract>
</Table>
<Table>
<au_id>267-41-2394</au_id>
<au_lname>O'Leary</au_lname>
<au_fname>Michael</au_fname>
<phone>408 286-2428</phone>
<address>22 Cleveland Av. #14</address>
<city>San Jose</city>
<state>CA</state>
<zip>95128</zip>
<contract>True</contract>
</Table>
<Table>
<au_id>274-80-9391</au_id>
<au_lname>Straight</au_lname>
<au_fname>Dean</au_fname>
<phone>415 834-2919</phone>
<address>5420 College Av.</address>
<city>Oakland</city>
<state>CA</state>
<zip>94609</zip>
<contract>True</contract>
</Table>
<Table>
<au_id>341-22-1782</au_id>
<au_lname>Smith</au_lname>
<au_fname>Meander</au_fname>
<phone>913 843-0462</phone>
<address>10 Mississippi Dr.</address>
<city>Lawrence</city>
<state>KS</state>
<zip>66044</zip>
<contract>False</contract>
</Table>
<Table>


文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【论坛讨论

   相关文章:
·ASP中巧用Response属性 ·第六课:ASP脚本循环语句
·在 Web 页上使用条件数值格式 ·连接数据库查询手册(不仅仅适用于asp)
·警惕"给你的FileSystemObject对象加把锁" ·用ASP做全文检索

   文章评论:(条)
  
 请留名: 匿名评论   点击查看所有评论 网管论坛
 

  责任编辑:一分  声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。