• 企业400电话
  • 网络优化推广
  • AI电话机器人
  • 呼叫中心
  • 全 部 栏 目

    网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    用户控件(ASCX)向网页(ASPX)传值使用反射实现
    POST TIME:2021-10-18 03:00
    用户控件向网页传递值,方法非常之多,此博文尝试使用反射来实现。在站点中,建一个网页以及一个用户控件。 网页切换至设计模式,拉用户控件至网页上。

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

    演示:
    您可能感兴趣的文章:
    • asp.net 动态添加多个用户控件
    • asp.net 用户控件读取以及赋值
    • asp.net 用户控件中图片及样式问题
    • ASP.NET用户控件技术
    上一篇:网页(aspx)与用户控件(ascx)交互逻辑处理实现
    下一篇:C#反射(Reflection)对类的属性get或set值实现思路
  • 相关文章
  • 

    关于我们 | 付款方式 | 荣誉资质 | 业务提交 | 代理合作


    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信