zoukankan      html  css  js  c++  java
  • 用户控件(ASCX)向网页(ASPX)传值使用反射实现

    用户控件向网页传递值,方法非常之多,此博文尝试使用反射来实现。在站点中,建一个网页以及一个用户控件。 网页切换至设计模式,拉用户控件至网页上。 

    Default.aspx: 

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 
    <%@ Register Src="InsusUC.ascx" TagName="InsusUC" TagPrefix="uc1" %> 
    <!DOCTYPE html> 
    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head runat="server"> 
    <title></title> 
    </head> 
    <body> 
    <form id="form1" runat="server"> 
    <div> 
    <uc1:InsusUC ID="InsusUC1" runat="server" /> 
    <br /> 
    <br /> 
    Hi, You input infor as below:<br /> 
    first textbox value: 
    <asp:Label ID="LabelshowFirstValue" runat="server" Text="" ForeColor="Red"></asp:Label><br /> 
    Second textbox value: 
    <asp:Label ID="LabelshowLastValue" runat="server" Text="" ForeColor="Red" ></asp:Label> 
    </div> 
    </form> 
    </body> 
    </html> 

    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 }); 

     

  • 相关阅读:
    CentOS6+nginx+uwsgi+mysql+django1.6.6+python2.6.6
    CentOS 6.5下安装Python+Django+Nginx+uWSGI
    python学习之旅
    Gitlab安装操作说明书
    快速上手git gitlab协同合作
    在centos6.3用yum安装redis
    CentOS 6.5 下安装 Redis 2.8.7
    Ruby Gems更换淘宝源方法
    Apache 日志分析(一)
    Apache 日志分析(二)
  • 原文地址:https://www.cnblogs.com/sjqq/p/6409604.html
Copyright © 2011-2022 走看看