首页 技术 正文
技术 2022年11月15日
0 收藏 678 点赞 4,996 浏览 2120 个字

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

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

}

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

下一篇: 剑指offer(4)
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,497
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,910
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,744
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,498
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,136
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,300