3 user controls:
1) GetName.aspx
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="GetName.ascx.cs" Inherits="WebApplication12.GetName" %>
Please type your name:<asp:TextBox ID="NameTextBox" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Submit" OnClick="SubmitButton_Click" />
GetName.aspx.cs
public partial class GetName : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
}
private string _name = string.Empty;
protected void SubmitButton_Click(object sender, EventArgs e)
{
_name = NameTextBox.Text;
}
[ConnectionProvider("User name provider", "GetUserName")]
public string GetUserName()
{
return _name;
}
}
2)GreetUser.aspx
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="GreetUser.ascx.cs" Inherits="WebApplication12.GreetUser" %>
<asp:Label ID="GreetingLabel" runat="server" Text="Label"></asp:Label>
GreetUser.aspx.cs
public partial class GreetUser : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
}
[ConnectionConsumer("User name consumer", "GetName")]
public void GetName(string Name)
{
GreetingLabel.Text = "Welcome, " + Name + "!";
}
}
3)ShowNameBackwards.aspx
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="ShowNameBackwards.ascx.cs" Inherits="WebApplication12.ShowNameBackwards" %>
<asp:Label ID="BackwardsLabel" runat="server" Text="Label"></asp:Label>
ShowNameBackwards.aspx.cs
public partial class ShowNameBackwards : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
}
[ConnectionConsumer("User name consumer", "GetName")]
public void GetName(string Name)
{
char[] NameCharArray = Name.ToCharArray();
Array.Reverse(NameCharArray);
BackwardsLabel.Text = "Your name backward is: " +
new string(NameCharArray);
}
}
1 Test Page
<form id="form1" runat="server">
<div>
<asp:webPartManager ID="webPartManager1" runat="server">
<StaticConnections>
<asp:webPartConnection
ID="WebPartConnection1"
ProviderID="GetName1"
ProviderConnectionPointID="GetUserName"
ConsumerID="GreetUser1"
ConsumerConnectionPointID="GetName"
/>
<asp:webPartConnection
ID="WebPartConnection2"
ProviderID="GetName1"
ProviderConnectionPointID="GetUserName"
ConsumerID="ShowNameBackwards1"
ConsumerConnectionPointID="GetName"
/>
</StaticConnections>
</asp:webPartManager>
<asp:WebPartZone ID="WebPartZoneBottom" runat="server"
HeaderText="Bottom Zone" style="width: 700px; height: auto;">
<ZoneTemplate>
<uc3:GetName ID="GetName1" runat="server" title="Enter Name" />
<uc4:GreetUser ID="GreetUser1" runat="server" title="Greeting" />
<uc5:ShowNameBackwards ID="ShowNameBackwards1" runat="server"
title="Backwards Name" />
</ZoneTemplate>
</asp:WebPartZone>
</div>
</form>