欢迎来到代码驿站!

.NET代码

当前位置:首页 > 软件编程 > .NET代码

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

时间:2021-01-20 14:15:00|栏目:.NET代码|点击:
用户控件向网页传递值,方法非常之多,此博文尝试使用反射来实现。在站点中,建一个网页以及一个用户控件。 网页切换至设计模式,拉用户控件至网页上。

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

演示:

上一篇:C# 文件下载之断点续传实现代码

栏    目:.NET代码

下一篇:c#使用Socket发送HTTP/HTTPS请求的实现代码

本文标题:用户控件(ASCX)向网页(ASPX)传值使用反射实现

本文地址:http://www.codeinn.net/misctech/47910.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有