在CSDN的博文中看到了 muziduoxi 的文章:http://blog.csdn.net/muziduoxi/article/details/5386543 虽然里面提到的方法没有解决我的难题,但是我也是根据里面的方法想到现在所用的方法的,所以还是需要感谢  因为我要的变量初始化的时候是空的,如果使用muziduoxi的方法就只能读取到初始化时候的值,我做了个跟踪,发现有模板页的页面运行的时候是先运行本页的变量的定义→  到模板页的变量定义→ 到本页的Page_Load方法→ 到模板页的PageLoad方法,所以如果我要获取的模板页变量是在其Page_Load中初始化的话,那么在本页Page_Load中是读取不到的,如果要获取到的话方法就是:在本页的aspx中的页面上使用:<%=(this.Master asagency_web_agency_master).systemURL %>,至于为什么是 agency_web_agency_master这个我理解的就是它把点号.换成了下划线_,其实这个名称会在你输入完  as 然后空格的时候提示你的。
具体的代码如下:
模板页有个公共变量的定义:public string systemURL = "";
然后在内容页的aspx代码中直接使用:<%=(this.Master as agency_web_agency_master).systemURL %> 就可以正常输出了。
而且不单单可以获得字段,也可以获得对象,如果模板页有一个类:public Model.gy_agencyInfo modagency = new Model.gy_agencyInfo(); 类有个字段是:systemURL
在内容页的aspx代码中直接使用:<%=(this.Master as agency_web_agency_master).modagency.systemURL %> 就可以正常输出。
为了方便自己记住 muziduoxi  的方法,特意把它粘贴到了我这里,以方便自己查看:
获取母模版页的变量和属性值: 模板页:

  1. public partial class MasterPage : System.Web.UI.MasterPage
  2. {
  3. public int UserId {
  4. get { return 342; }
  5. }
  6. public string UserName = "shenjk";
  7. protected void Page_Load(object sender, EventArgs e)
  8. {
  9. }
  10. }
public partial class MasterPage : System.Web.UI.MasterPage
{ public int UserId {
get { return 342; }
} public string UserName = "shenjk";
protected void Page_Load(object sender, EventArgs e)
{ }
}

在内容页获取该值:

  1. protected void Page_Load(object sender, EventArgs e)
  2. {
  3. PropertyInfo pl = this.Master.GetType().GetProperty("UserId");
  4. object o = pl.GetValue(this.Master, null); //o=342
  5. FieldInfo f = this.Master.GetType().GetField("UserName");
  6. object o1 = f.GetValue(this.Master);  //o1=shenjk
  7. }
protected void Page_Load(object sender, EventArgs e)
{
PropertyInfo pl = this.Master.GetType().GetProperty("UserId");
object o = pl.GetValue(this.Master, null); //o=342 FieldInfo f = this.Master.GetType().GetField("UserName");
object o1 = f.GetValue(this.Master); //o1=shenjk }

引用模板页时,如何接收内容页(感觉应该为模板页)控件的值

TextBox myemail = (TextBox)this.Page.Master.FindControl("show").FindControl("email");  string email = myemail.Text;

这2行代码让我找了2天,我一直认为是:

TextBox myemail = (TextBox)this.Page.FindControl("email");  string email = myemail.Text;

总是一个错误:未将对象引用设置到对象的实例。

如何取得和当前页面联系的MasterPage中的变量

例如: 1. A.aspx用了一个叫MasterPage.master的母板页。 MasterPage.master.cs里定义了一个 int 型的变量 flag = 1 如何在A.aspx.cs里读出flag变量的值呢? 在 Page_Load 事件中添加如下代码: ((MasterPage)Pa

例如:     1.  A.aspx用了一个叫MasterPage.master的母板页。              MasterPage.master.cs里定义了一个   int   型的变量   flag   =   1              如何在A.aspx.cs里读出flag变量的值呢?

在 Page_Load 事件中添加如下代码:

((MasterPage)Page.Master).flag  = 2;  或 int c=((MasterPage)Page.Master).flag;

也可以 (this.Master as MasterPage).flag  = 2

2.下面的代码示例演示如何使用内容页访问前一个代码示例中的母版页上的公共属性   SiteName。

<%@   Page   Language="C#"   MasterPageFile="~/MasterPage.master"   Title="MasterPage   Example"   %>           <script   runat="server">          protected   void   Page_Load(object   sender,   EventArgs   e)          {              MasterExample   m   =   (MasterExample)Page.Master;              mylabel.Text   =   m.SiteName;          }      </script>           <asp:Content   ID="Content1"   ContentPlaceHolderID="ContentPlaceHolder1"   runat="Server">              Hello,   Master   Pages!              <asp:Label   runat="server"   Text="Label"   ID="mylabel"></asp:Label>      </asp:Content>

3.获取和设置母版页Master中的一个控件的值

((Controls_wucTopBar)Master.FindControl("wucTopBar1")).strNavigaName = “电影频道”;

4.可以这样zu

在内容页面里加上:    <%@ MasterType VirtualPath="~/MasterPage33.master" %>    在后台代码中     protected void Page_Load(object sender, EventArgs e)     {         Master.LabelText = "现在时间:" + System.DateTime.Now.ToShortTimeString();     }

C#中在内容页获取其模板页中的变量,或者值的更多相关文章

  1. ThinkPhp循环出数据库中的内容并输出到模板

    <foreach name='user' item='v'> //循环出数据库中的内容 对应控制器->方法中的  $this->assign('user',M('user')- ...

  2. Java中读取配置文件中的内容,并将其赋值给静态变量的方法

    应用场景 项目开发中某个功能需要抽取成方法写成一个工具类,提供给别人使用.写过工具类的人都知道,工具类中的方法一般都是静态方法,可以直接使用类名点方法名调用, 使用很方便,比如判断某个对象是否为空的方 ...

  3. ASP.NET中获取Repeater模板列中LinkButton按钮事件中获取ID等

    前台页面中: <asp:Repeater ID="repComment" runat="server">            <ItemTe ...

  4. jquery 获取 json文件内容后,将其内容显示到 下拉列表框中,再将下拉列表中的内容,显示到文本框中

    <script type="text/javascript"> $(function(){ $("#huoqv").click(function() ...

  5. js获取gridview模板列中textbox行列的值

    下面一个例子:在gridview中第一列输入数值,第二列输入数值,点击第三列的时候进行计算 求和,如果不符合标记为红色字体. 如图: 代码 : <html xmlns="http:// ...

  6. 网页布局中页面内容不足一屏时页脚footer固定底部

    方法一:给html.body都设置100%的高度,确定body下内容设置min-height有效,然后设置主体部分min-height为100%,此时若没有header.footer则刚好完美占满全屏 ...

  7. textarea中的内容的获取

    今天他们说为啥获取不到textarea的数值 这个问题让我很纳闷  为什么会获取不到呢? 按照逻辑来说 同样都是表单元素  怎么可能出现呢? 我就看了一眼代码 alert($("#texta ...

  8. Python2_实现文件中特定内容的获取

    ===================================================== 参考链接 Python 文本文件内容批量抽取:https://blog.csdn.net/q ...

  9. wpf 获取datagrid 模板列中的控件

    目前采用的 方法  (网上提供的一款) public static DataGridRow GetRow(DataGrid datagrid, int columnIndex)        {    ...

随机推荐

  1. PropertyUtils复制BigDecimal异常

    PropertyUtils复制BigDecimal会引发异常,要注意

  2. Borg Maze - poj 3026(BFS + Kruskal 算法)

    Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 9821   Accepted: 3283 Description The B ...

  3. php在IIS上put,delete请求报404

    方法一:配置C:\Windows\System32\inetsrv\Config\applicationHost.conf的put,delete 方法二:网传最广之方法,修改项目的web.config ...

  4. BZOJ 1602 [Usaco2008 Oct]牧场行走 dfs

    题意:id=1602">链接 方法:深搜暴力 解析: 这题刚看完还有点意思,没看范围前想了想树形DP,只是随便画个图看出来是没法DP的,所以去看范围. woc我没看错范围?果断n^2暴 ...

  5. codevs 必做:2776、1222

    2776 寻找代表元  时间限制: 1 s  空间限制: 256000 KB  题目等级 : 黄金 Gold 题解       题目描述 Description 广州二中苏元实验学校一共有n个社团,分 ...

  6. Python小练习(持续更新....)

    最近一直在学习python,这些小练习有些是书上的,有些是别人博客上的! # 1.题目1# 给一个字符串,统计其中的数字.字母和其他类型字符的个数:# 比如输入“124mid-=”,输出:数字=3,字 ...

  7. iOS NSError HTTP错误码大全

    NSError codes in the Cocoa error domain. enum { NSFileNoSuchFileError = 4, NSFileLockingError = 255, ...

  8. jqweui tabbar使用示例

    <!DOCTYPE html> <html class="pixel-ratio-1"> <head> <meta http-equiv= ...

  9. 【python】-- Socket粘包问题 ,解决粘包的几种方法、socket文件下载,md5值检验

    上一篇随笔:“socket 接收大数据”,在win系统上能够运行,并且解决了大数据量的数据传输出现的问题,但是运行在linux系统上就会出现如下图所示的情况: 就是服务端两次发送给客户端的数据(第一次 ...

  10. Python菜鸟之路:Python基础-Python操作RabbitMQ

    RabbitMQ简介 rabbitmq中文翻译的话,主要还是mq字母上:Message Queue,即消息队列的意思.rabbitmq服务类似于mysql.apache服务,只是提供的功能不一样.ra ...