`
jeelee
  • 浏览: 637595 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

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


效果展示:


原文网址:
http://www.jb51.net/article/34978.htm
  • 大小: 12.4 KB
分享到:
评论

相关推荐

    用户控件传值问题终极解决方法

    - **用户控件向父页面传值**:同样可以通过`FindControl`方法来实现。 示例代码如下: ```csharp // 父页面向用户控件传值 ((TextBox)this.FindControl("WebUserControl1").FindControl("TextBox1")).Text = ...

    动态加载带参数的ASCX用户控件

    "动态加载带参数的ASCX用户控件"是这个过程的一种高级应用,它涉及到在页面生命周期的不同阶段向页面中添加ASCX控件,并且能够传递参数以定制其行为。下面我们将详细探讨这个主题。 首先,用户控件(ASCX)是ASP...

    将ASPX文件转换为ASCX文件(用户控件)

    aspx是页面文件ascx是用户控件,用户控件必须嵌入到aspx中才能使用。ascx是用户控件,相当于模板其实ascx你可以理解为Html里的一部分代码,只是嵌到aspx里而已,因为aspx内容多的时候实在是不太好管理,而且你把公共的...

    asp.net页面master页面与ascx用户控件传值的问题

    aspx 页面与ascx用户控件传值的问题 1.建立ascx控件 2.给ascx加上属性 3.将控件拖入aspx中 4.在aspx的代码中按控件ID访问属性 如: ”left_Repassword1″ runat=”server”&gt; left_Repassword1.HighLight = value; 也...

    如何在页面上动态添加用户控件.ascx

    本机记录怎么在页面中动态添加用户控件的使用方法

    自定义用户控件uc1.ascx

    本篇将深入讲解如何使用自定义用户控件`uc1.ascx`,以及其在C#编程环境下的应用。 一、自定义用户控件的创建与使用 自定义用户控件(User Control)是通过`.ascx`文件创建的,这种文件是ASP.NET中的用户界面元素。...

    网页(aspx)与用户控件(ascx)交互逻辑处理实现

    本文将详细解析如何实现网页(ASPx)与用户控件(ASCX)之间的交互逻辑处理。 首先,用户控件(ASCX)是.NET Framework提供的一种自定义UI组件的方式,它可以包含HTML、服务器控件以及相关的逻辑代码。在这个例子中...

    js获取.aspx页面里面的服务器控件和.ascx中的服务器控件值

    在了解如何使用JavaScript获取.aspx页面中的服务器控件值以及.ascx控件中的服务器控件值之前,需要理解几个关键概念。首先,*** Web窗体中的服务器控件能够执行服务器端的逻辑,但同时也能被JavaScript这样的客户端...

    ASP.NET用户控件和自定义控件

    例如,描述中提到的“自定义等待服务器控件”可能就是基于自定义控件实现的,它可能包含一个旋转图标、显示消息的文本框和进度条,用于在后台处理任务时向用户提供反馈。 **自定义等待服务器控件** 自定义等待控件...

    Net 自定义分页控件(.ascx)

    这可能涉及到CSS类的使用,以及在`PageCoursControl.ascx`中添加`CssClass`属性,让用户通过修改CSS来调整分页的外观。同时,控件还应该提供一些可配置的属性,如每页记录数、页码显示范围等,以适应不同的应用场景...

    asp.net用户控件

    下面我们将深入探讨ASP.NET用户控件的实现、优点、使用场景以及如何在实际项目中应用。 首先,创建ASP.NET用户控件的过程相对简单。开发者可以在Visual Studio中选择“添加新项”然后选择“Web用户控件”。在这个新...

    一个基于ASP.NET的主从页面用户控件参数传值处理程序例子

    例如,假设我们有一个名为`MyUserControl.ascx`的用户控件,它有一个`&lt;asp:TextBox&gt;`控件和一个`&lt;asp:Button&gt;`控件,用于接收输入并执行操作。为了从内容页面传递参数,我们可以在用户控件中定义一个公共属性: ```...

    asp.net用户控件的使用

    2. 使用控件:在页面的`.aspx`设计视图或代码视图中,可以像使用普通控件一样添加用户控件,例如: ```html ``` 四、用户控件的属性、方法和事件 1. 属性:可以在用户控件中定义公共属性,以便在父页面中设置...

    自定义用户控件网页教程

    在ASP.NET Web应用程序中,自定义用户控件(User Control)是一种非常强大的工具,它允许开发者创建可重用、可定制的网页组件。本教程将深入讲解如何在Web项目中创建和使用自定义用户控件,以提升开发效率和代码复用...

    动态增加和删除多个web用户控件

    在ASP.NET 2.0开发中,Web用户控件(User Control)是一种强大的工具,它允许开发者创建可重用的自定义控件,这些控件可以在多个页面中使用,提高代码复用性和维护性。本篇文章将深入探讨如何在运行时动态地添加和...

Global site tag (gtag.js) - Google Analytics