华域联盟 .Net 用户控件(ASCX)向网页(ASPX)传值使用反射实现

用户控件(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 });

}

}

演示:

您可能感兴趣的文章:

  • asp.net 动态添加多个用户控件
  • asp.net 用户控件读取以及赋值
  • asp.net 用户控件中图片及样式问题
  • ASP.NET用户控件技术

本文由 华域联盟 原创撰写:华域联盟 » 用户控件(ASCX)向网页(ASPX)传值使用反射实现

转载请保留出处和原文链接:https://www.cnhackhy.com/48603.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部