使用反射把用户控件(ASCX)传至网页(ASPX)
来源:互联网 发布:网络十大博客公司 编辑:程序博客网 时间:2024/05/19 04:04
用户控件向网页传递值,方法非常之多,此博文尝试使用反射来实现。在站点中,建一个网页以及一个用户控件。 网页切换至设计模式,拉用户控件至网页上。
Default.aspx:
View Code
<%@ 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方法。
View Code
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; }}
接下来,我们创建一个用户控件:
View Code
<%@ 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
View Code
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 }); }}
演示:
<script type="text/javascript"><!--google_ad_client = "ca-pub-1944176156128447";/* cnblogs 首页横幅 */google_ad_slot = "5419468456";google_ad_width = 728;google_ad_height = 90;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
- 使用反射把用户控件(ASCX)传至网页(ASPX)
- 用户控件(.ascx)与网页间(.aspx)传值方法
- 用户控件(.ascx)调用网页(.aspx)的方法
- 用户控件(.ascx)与网页间(.aspx)如何传值的几种方法
- aspx 页面与ascx用户控件传值的问题
- aspx 页面与ascx用户控件传值的问题
- aspx 页面与ascx用户控件传值的问题
- 用户控件(.ascx)与网页间(.aspx)如何传值的几种方法(持续更新)
- C# aspx页面动态加载ascx用户控件 及 利用反射调用其内方法
- C# aspx页面动态加载ascx用户控件 及 利用反射调用
- C# aspx页面动态加载ascx用户控件 及 利用反射调用其内方法
- 如何在aspx页面中使用ascx控件(用户自定义的一个控件)?
- aspx 页面,master页面与ascx用户控件传值的问题,web用户控件调用.aspx页面...
- “.ascx 用户控件”“可以帮助我们完成这种做法,其文件扩展名是“.ascx”,由于ascx文件是用来插入ASPX页面中使用的
- aspx 页面,master页面与ascx用户控件传值的问题
- C# aspx页面动态加载ascx用户控件
- 自定义控件的使用(.aspx调用.ascx)
- 在网页中使用.ascx用户控件的两种方法
- [SQL Server]如何快速查找使用了某个字段的所有存储过程?
- [130324]阿斯那一只
- hdu 2151 简单dp
- 【没有骗你哦】21天精通C++
- 如何用Hadoop计算平均值
- 使用反射把用户控件(ASCX)传至网页(ASPX)
- 写在离开学校前的话
- 使用 .NET 框架轻松开发完美的 Web 窗体控件
- uva 1486 - Transportation(最小费用流)
- Android温习:Android之Service与IntentService的比较
- 一起开始linux学习之旅
- 大牛代码
- VSTO之旅系列(四):创建Word解决方案
- CSMA/CD协议