1. 新建 *.axcx 文件。
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>
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 窗体设计器生成的代码

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);
}
}
}
}
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>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 窗体设计器生成的代码
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);
}
}
}
}


浙公网安备 33010602011771号