1. 新建 *.axcx 文件。
2. 跟一般网页一样放控件。
3. 在事件里面写处理过程。
4. 拖到aspx页面就可以用了。
过程注意的地方。
1.如果用到javascript ,用document.getElementById()来查找服务器控件需要在控件名前面加上 "<%= this.ClientID %>_控件名".
2.如果有图片之类需要路径的请用:/ a / b / c.jpg
3.需要调用用户控件事件的话需要写一个委托。
以下面做一个查询为例
html 代码
2. cs 代码
2. 跟一般网页一样放控件。
3. 在事件里面写处理过程。
4. 拖到aspx页面就可以用了。
过程注意的地方。
1.如果用到javascript ,用document.getElementById()来查找服务器控件需要在控件名前面加上 "<%= this.ClientID %>_控件名".
2.如果有图片之类需要路径的请用:/ a / b / c.jpg
3.需要调用用户控件事件的话需要写一个委托。
以下面做一个查询为例
html 代码
<%
@ Control Language
=
"
c#
"
AutoEventWireup
=
"
false
"
Codebehind
=
"
Search.ascx.cs
"
Inherits
=
"
Search
"
TargetSchema
=
"
http://schemas.microsoft.com/intellisense/ie5
"
enableViewState
=
"
True
"
%>
< script >
var ParentName = " <%= this.ClientID %> " ;
function initXMLHTTPRequest() {
var xRequest = null ;
if ( window.XMLHttpRequest ) {
xRequest = new XMLHttpRequest();
} else if ( window.ActiveXObject ) {
xRequest = new ActiveXObject( " Microsoft.XMLHTTP " );
}
return xRequest;
}
function GetDataSetCity(obj)
{
var svalue = obj.value;
var webFileUrl = " ?father= " + svalue;
var result = "" ;
var xmlHttp = initXMLHTTPRequest(); // new ActiveXObject("MSXML2.XMLHTTP");
xmlHttp.open( " POST " , webFileUrl, false );
xmlHttp.send( "" );
result = xmlHttp.responseText;
if (result != "" )
{
document.all(ParentName + " _dropCity " ).length = 0 ;
var piArray = result.split( " , " );
for ( var i = 0 ;i < piArray.length;i ++ )
{
var ary1 = piArray[i].toString().split( " | " );
document.all(ParentName + " _dropCity " ).options.add( new Option(ary1[ 1 ].toString(),ary1[ 0 ].toString()));
}
}
else
{
for (i = (document.all(ParentName + " _dropCity " ).length - 1 );i >= 0 ;i -- ) {
document.all(ParentName + " _dropCity " ).options.remove(i);
}
document.all(ParentName + " _dropCity " ).options.add( new Option( " 城市 " , " 0 " ));
}
}
function getData()
{
var province = document.getElementById(ParentName + " _dropProvince " );
var pindex = province.selectedIndex;
var pValue = province.options[pindex].value;
var pText = province.options[pindex].text;
var city = document.getElementById(ParentName + " _dropCity " );
var cindex = city.selectedIndex;
var cValue = city.options[cindex].value;
var cText = city.options[cindex].text;
document.getElementById(ParentName + " _hidprovince " ).value = pText;
document.getElementById(ParentName + " _hidcity " ).value = cText;
}
function JHR()
{
window.history.back();
}
</ script >
< table cellSpacing ="0" cellPadding ="0" width ="100%" border ="0" >
< tr >
< td vAlign ="bottom" align ="right" width ="24" height ="218" >< IMG height ="218" src ="/yizhi/images/chaxun_12.gif" width ="24" ></ td >
< td vAlign ="bottom" align ="left" >
< table id ="__01" height ="235" cellSpacing ="0" cellPadding ="0" width ="216" border ="0" >
< tr >
< td colSpan ="3" >< IMG height ="102" alt ="" src ="/yizhi/images/chaxun_01.gif" width ="216" ></ td >
</ tr >
< tr >
< td >< IMG height ="8" alt ="" src ="/yizhi/images/chaxun_02.gif" width ="15" ></ td >
< td >< IMG height ="8" alt ="" src ="/yizhi/images/chaxun_03.gif" width ="185" ></ td >
< td >< IMG height ="8" alt ="" src ="/yizhi/images/chaxun_04.gif" width ="16" ></ td >
</ tr >
< tr >
< td background ="/yizhi/images/chaxun_05.gif" width ="15" ></ td >
< td align ="center" width ="185" bgColor ="#f7f7f7" height ="103" >
< table cellSpacing ="5" cellPadding ="0" width ="90%" border ="0" >
< tr >
< td align ="left" >< asp:textbox id ="txtName" Runat ="server" > 请输入关键字 </ asp:textbox >< a id ="aSearchs" onclick ="JHR();" href ="UserListAll.aspx" target ="_blank" ></ td >
</ tr >
< tr >
< td align ="left" >< asp:DropDownList ID ="dropCategory" Runat ="server" ></ asp:DropDownList ></ td >
</ tr >
< tr >
< td align ="left" >< asp:DropDownList ID ="dropTime" Runat ="server" >
< asp:ListItem Value ="0" > 发布时间 </ asp:ListItem >
< asp:ListItem Value ="1" > 1天内 </ asp:ListItem >
< asp:ListItem Value ="2" > 2天内 </ asp:ListItem >
< asp:ListItem Value ="3" > 3天内 </ asp:ListItem >
< asp:ListItem Value ="4" > 4天内 </ asp:ListItem >
< asp:ListItem Value ="5" > 5天内 </ asp:ListItem >
< asp:ListItem Value ="10" > 10天内 </ asp:ListItem >
< asp:ListItem Value ="20" > 20天内 </ asp:ListItem >
< asp:ListItem Value ="30" > 一个月内 </ asp:ListItem >
< asp:ListItem Value ="90" > 三个月内 </ asp:ListItem >
</ asp:DropDownList ></ td >
</ tr >
< tr >
< td align ="left" >< asp:DropDownList ID ="dropProvince" Runat ="server" ></ asp:DropDownList >
< asp:DropDownList ID ="dropCity" Runat ="server" ></ asp:DropDownList ></ td >
</ tr >
< tr >
< td align ="left" >< asp:Button ID ="btnSearch" Runat ="server" Text ="搜 索" ></ asp:Button >< INPUT id ="hidprovince" style ="WIDTH: 31px; HEIGHT: 22px" type ="hidden" size ="1" name ="hidprovince"
runat ="server" >< INPUT id ="hidcity" style ="WIDTH: 34px; HEIGHT: 22px" type ="hidden" size ="1" name ="hidprovince"
runat ="server" ></ td >
</ tr >
</ table >
</ td >
< td background ="/yizhi/images/chaxun_07.gif" width ="16" ></ td >
</ tr >
< tr >
< td >
< img src ="/yizhi/images/chaxun_08.gif" width ="15" height ="8" alt ="" ></ td >
< td >
< img src ="/yizhi/images/chaxun_09.gif" width ="185" height ="8" alt ="" ></ td >
< td >
< img src ="/yizhi/images/chaxun_10.gif" width ="16" height ="8" alt ="" ></ td >
</ tr >
< tr >
< td colspan ="3" >
< img src ="/yizhi/images/chaxun_11.gif" width ="216" height ="14" alt ="" ></ td >
</ tr >
< tr >
< td > </ td >
</ tr >
</ table >
</ td >
</ tr >
</ table >
< script >
var ParentName = " <%= this.ClientID %> " ;
function initXMLHTTPRequest() {
var xRequest = null ;
if ( window.XMLHttpRequest ) {
xRequest = new XMLHttpRequest();
} else if ( window.ActiveXObject ) {
xRequest = new ActiveXObject( " Microsoft.XMLHTTP " );
}
return xRequest;
}
function GetDataSetCity(obj)
{
var svalue = obj.value;
var webFileUrl = " ?father= " + svalue;
var result = "" ;
var xmlHttp = initXMLHTTPRequest(); // new ActiveXObject("MSXML2.XMLHTTP");
xmlHttp.open( " POST " , webFileUrl, false );
xmlHttp.send( "" );
result = xmlHttp.responseText;
if (result != "" )
{
document.all(ParentName + " _dropCity " ).length = 0 ;
var piArray = result.split( " , " );
for ( var i = 0 ;i < piArray.length;i ++ )
{
var ary1 = piArray[i].toString().split( " | " );
document.all(ParentName + " _dropCity " ).options.add( new Option(ary1[ 1 ].toString(),ary1[ 0 ].toString()));
}
}
else
{
for (i = (document.all(ParentName + " _dropCity " ).length - 1 );i >= 0 ;i -- ) {
document.all(ParentName + " _dropCity " ).options.remove(i);
}
document.all(ParentName + " _dropCity " ).options.add( new Option( " 城市 " , " 0 " ));
}
}
function getData()
{
var province = document.getElementById(ParentName + " _dropProvince " );
var pindex = province.selectedIndex;
var pValue = province.options[pindex].value;
var pText = province.options[pindex].text;
var city = document.getElementById(ParentName + " _dropCity " );
var cindex = city.selectedIndex;
var cValue = city.options[cindex].value;
var cText = city.options[cindex].text;
document.getElementById(ParentName + " _hidprovince " ).value = pText;
document.getElementById(ParentName + " _hidcity " ).value = cText;
}
function JHR()
{
window.history.back();
}
</ script >
< table cellSpacing ="0" cellPadding ="0" width ="100%" border ="0" >
< tr >
< td vAlign ="bottom" align ="right" width ="24" height ="218" >< IMG height ="218" src ="/yizhi/images/chaxun_12.gif" width ="24" ></ td >
< td vAlign ="bottom" align ="left" >
< table id ="__01" height ="235" cellSpacing ="0" cellPadding ="0" width ="216" border ="0" >
< tr >
< td colSpan ="3" >< IMG height ="102" alt ="" src ="/yizhi/images/chaxun_01.gif" width ="216" ></ td >
</ tr >
< tr >
< td >< IMG height ="8" alt ="" src ="/yizhi/images/chaxun_02.gif" width ="15" ></ td >
< td >< IMG height ="8" alt ="" src ="/yizhi/images/chaxun_03.gif" width ="185" ></ td >
< td >< IMG height ="8" alt ="" src ="/yizhi/images/chaxun_04.gif" width ="16" ></ td >
</ tr >
< tr >
< td background ="/yizhi/images/chaxun_05.gif" width ="15" ></ td >
< td align ="center" width ="185" bgColor ="#f7f7f7" height ="103" >
< table cellSpacing ="5" cellPadding ="0" width ="90%" border ="0" >
< tr >
< td align ="left" >< asp:textbox id ="txtName" Runat ="server" > 请输入关键字 </ asp:textbox >< a id ="aSearchs" onclick ="JHR();" href ="UserListAll.aspx" target ="_blank" ></ td >
</ tr >
< tr >
< td align ="left" >< asp:DropDownList ID ="dropCategory" Runat ="server" ></ asp:DropDownList ></ td >
</ tr >
< tr >
< td align ="left" >< asp:DropDownList ID ="dropTime" Runat ="server" >
< asp:ListItem Value ="0" > 发布时间 </ asp:ListItem >
< asp:ListItem Value ="1" > 1天内 </ asp:ListItem >
< asp:ListItem Value ="2" > 2天内 </ asp:ListItem >
< asp:ListItem Value ="3" > 3天内 </ asp:ListItem >
< asp:ListItem Value ="4" > 4天内 </ asp:ListItem >
< asp:ListItem Value ="5" > 5天内 </ asp:ListItem >
< asp:ListItem Value ="10" > 10天内 </ asp:ListItem >
< asp:ListItem Value ="20" > 20天内 </ asp:ListItem >
< asp:ListItem Value ="30" > 一个月内 </ asp:ListItem >
< asp:ListItem Value ="90" > 三个月内 </ asp:ListItem >
</ asp:DropDownList ></ td >
</ tr >
< tr >
< td align ="left" >< asp:DropDownList ID ="dropProvince" Runat ="server" ></ asp:DropDownList >
< asp:DropDownList ID ="dropCity" Runat ="server" ></ asp:DropDownList ></ td >
</ tr >
< tr >
< td align ="left" >< asp:Button ID ="btnSearch" Runat ="server" Text ="搜 索" ></ asp:Button >< INPUT id ="hidprovince" style ="WIDTH: 31px; HEIGHT: 22px" type ="hidden" size ="1" name ="hidprovince"
runat ="server" >< INPUT id ="hidcity" style ="WIDTH: 34px; HEIGHT: 22px" type ="hidden" size ="1" name ="hidprovince"
runat ="server" ></ td >
</ tr >
</ table >
</ td >
< td background ="/yizhi/images/chaxun_07.gif" width ="16" ></ td >
</ tr >
< tr >
< td >
< img src ="/yizhi/images/chaxun_08.gif" width ="15" height ="8" alt ="" ></ td >
< td >
< img src ="/yizhi/images/chaxun_09.gif" width ="185" height ="8" alt ="" ></ td >
< td >
< img src ="/yizhi/images/chaxun_10.gif" width ="16" height ="8" alt ="" ></ td >
</ tr >
< tr >
< td colspan ="3" >
< img src ="/yizhi/images/chaxun_11.gif" width ="216" height ="14" alt ="" ></ td >
</ tr >
< tr >
< td > </ td >
</ tr >
</ table >
</ td >
</ tr >
</ table >
2. cs 代码
namespace
ProductControls
{
using System;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
/**/ /// <summary>
/// Search 的摘要说明。
/// </summary>
public class Search : System.Web.UI.UserControl
{
protected System.Web.UI.WebControls.TextBox txtName;
protected System.Web.UI.WebControls.DropDownList dropCategory;
protected System.Web.UI.WebControls.DropDownList dropTime;
protected System.Web.UI.WebControls.DropDownList dropProvince;
protected System.Web.UI.WebControls.DropDownList dropCity;
protected System.Web.UI.WebControls.Button btnSearch;
protected System.Web.UI.HtmlControls.HtmlInputHidden hidprovince;
protected System.Web.UI.HtmlControls.HtmlInputHidden hidcity;
YzBLL.Members m = new YzBLL.Members();
public string CategoryName
{
get
{
string Name = this .txtName.Text.Trim();
if ( Name == " 请输入关键字 " )
Name = "" ;
return Name;
}
set
{
this .txtName.Text = value;
}
}
public string CategoryID
{
get
{
return this .dropCategory.SelectedValue;
}
set
{
this .dropCategory.SelectedValue = value;
}
}
public string CreateTime
{
get
{
return this .dropTime.SelectedValue;
}
set
{
this .dropTime.SelectedValue = value;
}
}
public string Area
{
get
{
string area = " 不限 " ;
if ( this .hidprovince.Value.Trim() != " 省份 " )
{
area = this .hidprovince.Value;
if ( this .hidcity.Value.Trim() != " 城市 " )
area = area + " - " + this .hidcity.Value.Trim();
}
else
area = "" ;
return area;
}
}
private void Page_Load( object sender, System.EventArgs e)
{
this .BindddlProvince();
if (father != "" )
{
this .BindddlCity(Convert.ToInt32(father));
}
else
{
dropCity.Items.Clear();
dropCity.Items.Add( new ListItem( " 城市 " , " 0 " ));
}
// 在此处放置用户代码以初始化页面
if ( ! Page.IsPostBack )
{
BindCategory();
BindddlProvince();
this .dropProvince.Attributes.Add( " onchange " , " GetDataSetCity(this); " );
this .btnSearch.Attributes.Add( " onclick " , " getData(); " );
}
}
private void BindCategory()
{
DataTable dtCategory = new DataTable();
YzBLL.YzGqInfo gq = new YzBLL.YzGqInfo();
dtCategory = gq.GetCategory();
this .dropCategory.DataSource = dtCategory;
this .dropCategory.DataTextField = " CategoryName " ;
this .dropCategory.DataValueField = " Categoryid " ;
this .dropCategory.DataBind();
this .dropCategory.Items.Insert( 0 , new ListItem( " 产品种类 " , " 0 " ));
}
// 绑定ddlProvince
public void BindddlProvince()
{
DataTable dt = m.AllProvince();
this .dropProvince.DataSource = dt.DefaultView;
this .dropProvince.DataTextField = " province " ;
this .dropProvince.DataValueField = " provinceID " ;
this .dropProvince.DataBind();
this .dropProvince.Items.Insert( 0 , new ListItem( " 省份 " , " 0 " ));
}
// 绑定BindddlCity
public void BindddlCity( int father)
{
string mystr = "" ;
DataTable dt = m.AllCity(father);
if (dt.Rows.Count != 0 )
{
mystr += " , " + " 0 " + " | " + " 城市 " ;
for ( int i = 0 ;i < dt.Rows.Count;i ++ )
{
mystr += " , " + dt.Rows[i][ 1 ].ToString() + " | " + dt.Rows[i][ 2 ].ToString();
}
mystr = mystr.Substring( 1 );
}
this .Response.Write(mystr);
this .Response.End();
}
private string father
{
get
{
if (ViewState[ " father " ] != null && ViewState[ " father " ].ToString() != "" )
{
return ViewState[ " father " ].ToString();
}
else
{
if (Request[ " father " ] != null && Request[ " father " ].ToString() != "" )
{
return Request[ " father " ];
}
else
{
return "" ;
}
}
}
set
{
ViewState[ " father " ] = value;
}
}
Web 窗体设计器生成的代码 #region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base .OnInit(e);
}
/**/ /// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器
/// 修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this .btnSearch.Click += new System.EventHandler( this .btnSearch_Click);
this .Load += new System.EventHandler( this .Page_Load);
}
#endregion
public delegate void OnSearch( object sender,System.EventArgs e);
public event OnSearch onSearch;
private void btnSearch_Click( object sender, System.EventArgs e)
{
if ( onSearch != null )
{
onSearch(sender,e);
}
}
}
}
{
using System;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
/**/ /// <summary>
/// Search 的摘要说明。
/// </summary>
public class Search : System.Web.UI.UserControl
{
protected System.Web.UI.WebControls.TextBox txtName;
protected System.Web.UI.WebControls.DropDownList dropCategory;
protected System.Web.UI.WebControls.DropDownList dropTime;
protected System.Web.UI.WebControls.DropDownList dropProvince;
protected System.Web.UI.WebControls.DropDownList dropCity;
protected System.Web.UI.WebControls.Button btnSearch;
protected System.Web.UI.HtmlControls.HtmlInputHidden hidprovince;
protected System.Web.UI.HtmlControls.HtmlInputHidden hidcity;
YzBLL.Members m = new YzBLL.Members();
public string CategoryName
{
get
{
string Name = this .txtName.Text.Trim();
if ( Name == " 请输入关键字 " )
Name = "" ;
return Name;
}
set
{
this .txtName.Text = value;
}
}
public string CategoryID
{
get
{
return this .dropCategory.SelectedValue;
}
set
{
this .dropCategory.SelectedValue = value;
}
}
public string CreateTime
{
get
{
return this .dropTime.SelectedValue;
}
set
{
this .dropTime.SelectedValue = value;
}
}
public string Area
{
get
{
string area = " 不限 " ;
if ( this .hidprovince.Value.Trim() != " 省份 " )
{
area = this .hidprovince.Value;
if ( this .hidcity.Value.Trim() != " 城市 " )
area = area + " - " + this .hidcity.Value.Trim();
}
else
area = "" ;
return area;
}
}
private void Page_Load( object sender, System.EventArgs e)
{
this .BindddlProvince();
if (father != "" )
{
this .BindddlCity(Convert.ToInt32(father));
}
else
{
dropCity.Items.Clear();
dropCity.Items.Add( new ListItem( " 城市 " , " 0 " ));
}
// 在此处放置用户代码以初始化页面
if ( ! Page.IsPostBack )
{
BindCategory();
BindddlProvince();
this .dropProvince.Attributes.Add( " onchange " , " GetDataSetCity(this); " );
this .btnSearch.Attributes.Add( " onclick " , " getData(); " );
}
}
private void BindCategory()
{
DataTable dtCategory = new DataTable();
YzBLL.YzGqInfo gq = new YzBLL.YzGqInfo();
dtCategory = gq.GetCategory();
this .dropCategory.DataSource = dtCategory;
this .dropCategory.DataTextField = " CategoryName " ;
this .dropCategory.DataValueField = " Categoryid " ;
this .dropCategory.DataBind();
this .dropCategory.Items.Insert( 0 , new ListItem( " 产品种类 " , " 0 " ));
}
// 绑定ddlProvince
public void BindddlProvince()
{
DataTable dt = m.AllProvince();
this .dropProvince.DataSource = dt.DefaultView;
this .dropProvince.DataTextField = " province " ;
this .dropProvince.DataValueField = " provinceID " ;
this .dropProvince.DataBind();
this .dropProvince.Items.Insert( 0 , new ListItem( " 省份 " , " 0 " ));
}
// 绑定BindddlCity
public void BindddlCity( int father)
{
string mystr = "" ;
DataTable dt = m.AllCity(father);
if (dt.Rows.Count != 0 )
{
mystr += " , " + " 0 " + " | " + " 城市 " ;
for ( int i = 0 ;i < dt.Rows.Count;i ++ )
{
mystr += " , " + dt.Rows[i][ 1 ].ToString() + " | " + dt.Rows[i][ 2 ].ToString();
}
mystr = mystr.Substring( 1 );
}
this .Response.Write(mystr);
this .Response.End();
}
private string father
{
get
{
if (ViewState[ " father " ] != null && ViewState[ " father " ].ToString() != "" )
{
return ViewState[ " father " ].ToString();
}
else
{
if (Request[ " father " ] != null && Request[ " father " ].ToString() != "" )
{
return Request[ " father " ];
}
else
{
return "" ;
}
}
}
set
{
ViewState[ " father " ] = value;
}
}
Web 窗体设计器生成的代码 #region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base .OnInit(e);
}
/**/ /// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器
/// 修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this .btnSearch.Click += new System.EventHandler( this .btnSearch_Click);
this .Load += new System.EventHandler( this .Page_Load);
}
#endregion
public delegate void OnSearch( object sender,System.EventArgs e);
public event OnSearch onSearch;
private void btnSearch_Click( object sender, System.EventArgs e)
{
if ( onSearch != null )
{
onSearch(sender,e);
}
}
}
}