主页 > 知识库 > 用户控件(ASCX)向网页(ASPX)传值使用反射实现

用户控件(ASCX)向网页(ASPX)传值使用反射实现

热门标签:电子围栏 阿里云 团购网站 Mysql连接数设置 科大讯飞语音识别系统 银行业务 Linux服务器 服务器配置
用户控件向网页传递值,方法非常之多,此博文尝试使用反射来实现。在站点中,建一个网页以及一个用户控件。 网页切换至设计模式,拉用户控件至网页上。

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用户控件技术

标签:衡水 蚌埠 广元 大理 江苏 萍乡 衢州 枣庄

巨人网络通讯声明:本文标题《用户控件(ASCX)向网页(ASPX)传值使用反射实现》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266