引至:http://blog.csdn.net/aqgsh/article/details/6941466

最近做一个项目,在首面上有几个用户控件,其中一个是显示当前登录的用户名,位于名为PageHead的控件中

Default.aspx

[csharp] view plaincopyprint?
  1. <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
  2. <%@ Register Src="<STRONG>PageHead.ascx</STRONG>" TagName="PageHead" TagPrefix="uc1" %>
  3. <%@ Register .....refix="uc2" %>
  4. <%@ Register src="U<STRONG>serLogin.ascx</STRONG>" tagname="UserLogin" tagprefix="uc3" %>
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Register Src="PageHead.ascx" TagName="PageHead" TagPrefix="uc1" %>
<%@ Register .....refix="uc2" %>
<%@ Register src="UserLogin.ascx" tagname="UserLogin" tagprefix="uc3" %>

当用户在UserLogin.ascx的控件上登录成功后,PageHead.ascx控件中并没有实时的显示登录后的名称,在网上找了一些方法,没有直接解决解决,经本人结合前辈的代码和经验,终于实现,现分享一下。

在PageHead.ascx上有个Lable控件,ID为:lbl,后台中有一个公开的方法,需要接收一个userName的字符串参数,如下:

PageHead.ascx.cs

[csharp] view plaincopyprint?
  1. <STRONG>public</STRONG> void showLoginUser(string userName)
  2. {
  3. ......
  4. lbl_LoginUser.Text = userName;
  5. ......
  6. }
public void showLoginUser(string userName)
{......lbl_LoginUser.Text = userName; ......
}

当UserLogin.ascx执行登录成功后,代码如下:

UserLogin.ascx.cs

[csharp] view plaincopyprint?
  1. protected void ibtnLogin_Click(object sender, ImageClickEventArgs e)
  2. {
  3. ......
  4. sysCBll.PopWindow("登录成功!", "", Page);
  5. Session["loginUser"] = userName;
  6. Page p = this.Parent.Page;//获得父页面
  7. //获得父页面的上的ID为PageHead1的用户控件
  8. UserControl uc = p.FindControl("PageHead1") as UserControl;
  9. Type pageType = uc.GetType();
  10. //执行PageHead1中的showLoginUser方法
  11. MethodInfo mi = pageType.GetMethod("showLoginUser");
  12. mi.Invoke(uc, new object[] { userName });//参数
protected void ibtnLogin_Click(object sender, ImageClickEventArgs e)
{ ......sysCBll.PopWindow("登录成功!", "", Page);Session["loginUser"] = userName;Page p = this.Parent.Page;//获得父页面//获得父页面的上的ID为PageHead1的用户控件 UserControl uc = p.FindControl("PageHead1") as UserControl;Type pageType = uc.GetType();//执行PageHead1中的showLoginUser方法MethodInfo mi = pageType.GetMethod("showLoginUser");mi.Invoke(uc, new object[] { userName });//参数
}

大功告成,希望对大家有帮助!

加上一条,在后台需要引入命名空间:

using System.Reflection;

转载于:https://www.cnblogs.com/id475966478/archive/2013/01/16/2862969.html

关于ASP.Net页面上用户控件相互调用的方法 .相关推荐

  1. Web页面获取用户控件页面中服务器控件的值

    用户控件页面后台: public string P_Name { get { return txt_P_name.Value; } set { txt_P_name.Value = value; } ...

  2. Asp.net2.0动态加载用户控件的三种方法

    方法一: 直接拖放的用户控件 <!--这是某个aspx页--> ..... <%@ Register Src="TestControl.ascx" TagName ...

  3. html页面如何引用母版页,内容页面访问母版页控件的两种方法

    母版页是ASP.NET2.0新增的一个功能,使用它可以更方便.更快速的创建风格一致的应用程序..NET的母版页和Dreamweaver的模板非常的相似,但.NET的母版页更加强大,它除了能够实现创建风 ...

  4. 用户控件(.ascx)调用网页(.aspx)的方法

    首先在aspx文件中有这样一个方法等待调用: public void SetLabel(string str) {     this.Label1.Text = str; ; } 然后在用户控件asc ...

  5. 在用户控件中操作父页面上的控件

    ((TextBox)this.Page.FindControl("父页面控件名")).text="";  转载于:https://www.cnblogs.com ...

  6. asp.net页面中Menu控件下拉菜单被frame挡住和iframe自适应高度的解决办法

    当你在做一个仿windows程序的顶部菜单框架的时候,在asp.net中你可能会使用两个frame,一个frame在上面用来放菜单一个frame在下面用来方菜单点击后打开的页面.页面实现很简单,单运行 ...

  7. ASP.NET 中获取html控件的值的方法

    一.知识点: 1.name是用来提交数据的,提供给表单用,可以重复:  2.id则针对文档操作时候用,不能重复.如:document.getElementById():   document.getE ...

  8. ASP.NET重用代码技术 - 用户控件技术

    作者: 苏红超 使用ASP.NET中的代码绑定技术来使得代码重用变得简单可行.我们发现,利用代码绑定技术我们可以容易的将我们的代码和内容分离开来,利用它可以建立可重用的代码,只是这种技术本身也存在着一 ...

  9. web developer tips (8):创建web用户控件并包含在web页面里

    原文地址: How to create an ASP.NET Web User Control and include it in your web page 使用Visual Web Develop ...

最新文章

  1. android sdk 更新用的HOSTS
  2. oracle大于条件,oracle中sql语句中的in的条件数量大于1000有问题
  3. 风电功率预测_人工智能在预测单机风电功率上的应用进展
  4. linux多目录多域名,一个空间放多个网站(多域名绑定到同一空间不同目录)
  5. Linux 的 Out-of-Memory (OOM) Killer
  6. 通讯录c语言链表实验报告,通讯录管理系统数据结构C语言版链表实现实验报告(31页)-原创力文档...
  7. 翻新电子元器件识别的一些方法技巧
  8. CBCGPToolBarImages和CImageList创建与使用
  9. tomcat解决get请求中文乱码问题(两种解决方案)
  10. 微信小程序圆形图片小图标按钮
  11. 人工智能(AI)是如何处理数据的?
  12. 判断手机屏幕是否旋转
  13. ubuntu设置pac代理
  14. Win7 easy connect 提示:选路连接失败,可能当前连接网络异常,请稍后重试
  15. 数据安全技术研究国外
  16. arch linux中的jdk的安装
  17. GitHub官方出手,一针见血。Spring Boot趣味实战手册来袭(彩版)
  18. Google黑客语法总结
  19. python 相似形态 股票_如何用Python量化“相似K线”实现形态选股?
  20. 高等数学-多元函数微分学思维导图

热门文章

  1. 我最讨厌哪种数据分析师?这四点全中就可以辞职走人了
  2. easyUI的使用.datagrid()生成列表日期时间显示异常,一个方法带入有效修复
  3. hive 把mysql语句执行_Hive SQL 语句的执行顺序
  4. kotlin 扩展函数_在 Kotlin 中“实现”trait/类型类
  5. php 使用json 教程,PHP使用JSON 教程
  6. cdh中hue集成hbase_HBase版本 | Cloudera Enterprise 6.2.0发布
  7. 二叉树之孩子表示法以及前中后三种遍历法
  8. pytorch学习笔记(四):线性回归从零开始实现
  9. AcWing.282石子合并(区间DP)题解
  10. Python中替换元素