用户控件向网页传递值,方法非常之多,此博文尝试使用反射来实现。在站点中,建一个网页以及一个用户控件。 网页切换至设计模式,拉用户控件至网页上。
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
分享到:
相关推荐
用户控件传值问题终极解决方法 全面 彻底 父页面和用户控件相互传值,赋值
aspx是页面文件ascx是用户控件,用户控件必须嵌入到aspx中才能使用。ascx是用户控件,相当于模板其实ascx你可以理解为Html里的一部分代码,只是嵌到aspx里而已,因为aspx内容多的时候实在是不太好管理,而且你把公共的...
通过JQUERY或页面后台处理程序加载带参数的ASCX用户控件
本机记录怎么在页面中动态添加用户控件的使用方法
aspx 页面与ascx用户控件传值的问题 1.建立ascx控件 2.给ascx加上属性 3.将控件拖入aspx中 4.在aspx的代码中按控件ID访问属性 如: ”left_Repassword1″ runat=”server”> left_Repassword1.HighLight = value; 也...
几个页面(ASPX)都使用一些相同的控件,一个文本框,二个按钮(搜索和导出),为了以后好维护,把这相同的部分抽取放在一个用户控件(ASCX)上。现需要处理逻辑如下 搜索事件处理的逻辑在各个页面处理。 问题是按钮在用户...
用js获取.ascx控件中服务器控件值时首先要得到服务器控件的ClientID再加上.ascx页面里面的服务器空间ID并用"_"连接
添加到vs中用asp.net开发的网站中就可以使用的验证控件……
C#编写的ascx控件,分页样式可以编辑,满足用户需求 有数字索引,如果你在使用中发现bug可以给我写信 我的邮箱是hbtsbht@126.com
ASPX.CS里的代码: 代码如下:UserControl uc = (UserControl)LoadControl(actionOne[1].ToString());uc.GetType().GetProperty(“cid”).SetValue(uc, cid.ToString(), null);//主要就在这里,这里是添加属性,并...
自定义用户控件的使用,加内部注释。很简单的东西,一看就懂
把用户在TextBox输入的文字创建为一个图片,ASCX的ImageButton的ImageUrl重新指向这刚产生的图片,接下来介绍下ASPX向ASCX传值,感兴趣的朋友可以参考下哈
asp.net 到顶部底部(封装用户控件) 已封装好的控件,只需将Scroll.ascx拷贝到项目中,只需简单引用到aspx页面中即可实现到顶部、底部的效果
要实现单击用户控件中的button控件把搜索出来的结果数据绑定到.aspx页面的gridview控件上去,如何实现呢? 如果gridview控件是放在.ascx文件中的话,那我们直接把搜索出来的数据绑定到它上面就行了。但现在gridview...
用户控件 usc/dg.ascx <%@ Control Language="c#" AutoEventWireup="false" Codebehind="dg.ascx.cs" Inherits="startmssql.ucs.dg" TargetSchema="http://schemas.microsoft.com/intellisense/ie5"%> ...