Default.aspx.cs,建一个带两个参数的public方法。 代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } public void ReadUCMessage(string value1, string value2) { this.LabelshowFirstValue.Text = value1; this.LabelshowLastValue.Text = value2; } }
接下来,我们创建一个用户控件: 代码如下: <%@ Control Language="C#" AutoEventWireup="true" CodeFile="InsusUC.ascx.cs" Inherits="InsusUC" %> First Name <asp:TextBox ID="TextboxFirstName" runat="server"></asp:TextBox><br /> Last Name <asp:TextBox ID="TextboxLastName" runat="server"></asp:TextBox><br /> <asp:Button ID="ButtonTransmit" runat="server" Text="Transmit" OnClick="ButtonTransmit_Click" />
写铵钮事件,首先引用namespace using System.Reflection; 有关type.InvokeMember()方法,可以参考msdn:http://msdn.microsoft.com/zh-cn/library/de3dhzwy(v=vs.80).aspx 代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Reflection; public partial class InsusUC : System.Web.UI.UserControl { protected void Page_Load(object sender, EventArgs e) { } protected void ButtonTransmit_Click(object sender, EventArgs e) { string v1 = this.TextboxFirstName.Text.Trim(); string v2 = this.TextboxLastName.Text.Trim(); this.Page.GetType().InvokeMember("ReadUCMessage", BindingFlags.InvokeMethod, null, this.Page, new object[] { v1,v2 }); } }