用户控件: MyRadioButtonList.ascx<%@ Control Language="C#" AutoEventWireup="true" CodeFile="MyRadioButtonList.ascx.cs" Inherits="MyRadioButtonList" %> <asp:RadioButtonList ID="rblColors" runat="server" OnSelectedIndexChanged="rblColors_SelectedIndexChanged" AutoPostBack="True"> <asp:ListItem Text="Red" Value="Red" Selected="true" /> <asp:ListItem Text="Green" Value="Green" /> <asp:ListItem Text="Yellow" Value="Yellow" /> </asp:RadioButtonList>MyRadioButtonList.ascx.csusing System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls;public partial class MyRadioButtonList : System.Web.UI.UserControl { /// <summary> /// Occurs when the selected index of the color list is changed. /// </summary> public event EventHandler SelectedIndexChanged; /// <summary> /// Gets the selected value of the color list. /// </summary> public string SelectedValue { get { return rblColors.SelectedValue; } } protected void rblColors_SelectedIndexChanged(object sender, EventArgs e) { if (null != SelectedIndexChanged) { SelectedIndexChanged(this, e); } } } 调用页面: Default.aspx// ... <%@ Register Src="~/MyRadioButtonList.ascx" TagName="MyRadioButtonList" TagPrefix="uc1" %> // ... <uc1:MyRadioButtonList id="MyRadioButtonList1" runat="server" OnSelectedIndexChanged="MyRadioButtonList1_SelectedIndexChanged"> </uc1:MyRadioButtonList> // ...Default.aspx.csusing System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls;public partial class _Default : System.Web.UI.Page { protected void MyRadioButtonList1_SelectedIndexChanged(object sender, EventArgs e) { Response.Write(MyRadioButtonList1.SelectedValue); } }
if (!object.Equals(Request.QueryString["ReturnUrl"], null))
{
string fromurl = Request.QueryString["ReturnUrl"].ToString().Trim();
if (fromurl != "")
{
ViewState["url"] = fromurl;
}
}
else
{
if (!object.Equals(Request.ServerVariables["Http_Referer"], null))
{
string urlrefer = Request.ServerVariables["Http_Referer"].ToString().Trim().ToLower();
string thisurl = Request.Url.ToString().ToLower();
if (urlrefer != "" && urlrefer.IndexOf("/login.aspx") == -1 && thisurl.IndexOf(urlrefer) == -1)
{
ViewState["url"] = urlrefer;
}
}
}
{
EventName(this, null);
}在页面上只要注册this.userControl.EventName += new EventHandler(userControl_EventName);
根据具体需要选择你的委托delegate原形。
参考一下这篇帖子:
http://topic.csdn.net/u/20071117/21/d515fe07-33a3-43fe-b7a3-18f3d5882b55.html
MyRadioButtonList.ascx<%@ Control Language="C#" AutoEventWireup="true" CodeFile="MyRadioButtonList.ascx.cs" Inherits="MyRadioButtonList" %>
<asp:RadioButtonList ID="rblColors" runat="server" OnSelectedIndexChanged="rblColors_SelectedIndexChanged" AutoPostBack="True">
<asp:ListItem Text="Red" Value="Red" Selected="true" />
<asp:ListItem Text="Green" Value="Green" />
<asp:ListItem Text="Yellow" Value="Yellow" />
</asp:RadioButtonList>MyRadioButtonList.ascx.csusing System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;public partial class MyRadioButtonList : System.Web.UI.UserControl
{
/// <summary>
/// Occurs when the selected index of the color list is changed.
/// </summary>
public event EventHandler SelectedIndexChanged; /// <summary>
/// Gets the selected value of the color list.
/// </summary>
public string SelectedValue
{
get
{
return rblColors.SelectedValue;
}
} protected void rblColors_SelectedIndexChanged(object sender, EventArgs e)
{
if (null != SelectedIndexChanged)
{
SelectedIndexChanged(this, e);
}
}
}
调用页面:
Default.aspx// ...
<%@ Register Src="~/MyRadioButtonList.ascx" TagName="MyRadioButtonList" TagPrefix="uc1" %>
// ...
<uc1:MyRadioButtonList id="MyRadioButtonList1" runat="server" OnSelectedIndexChanged="MyRadioButtonList1_SelectedIndexChanged">
</uc1:MyRadioButtonList>
// ...Default.aspx.csusing System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;public partial class _Default : System.Web.UI.Page
{
protected void MyRadioButtonList1_SelectedIndexChanged(object sender, EventArgs e)
{
Response.Write(MyRadioButtonList1.SelectedValue);
}
}