C#中在内容页获取其模板页中的变量,或者值

在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  的方法,特意把它粘贴到了我这里,以方便自己查看:
获取母模版页的变量和属性值: 模板页:

[csharp] view plaincopyprint?

  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)
    {

    }
}

在内容页获取该值:

[csharp] view plaincopyprint?

  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();     }

时间: 2024-10-07 06:39:03

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

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

<foreach name='user' item='v'> //循环出数据库中的内容 对应控制器->方法中的  $this->assign('user',M('user')->select())->display(); <dl class='paper a{:mt_rand(1,5)}'>//生成随机数 <dt>{$a} <span class='username'>{$v.username}</span> <sp

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

下面一个例子:在gridview中第一列输入数值,第二列输入数值,点击第三列的时候进行计算 求和,如果不符合标记为红色字体. 如图: 代码 : <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <script type="text/javascript"> function

textarea中的内容的获取

今天他们说为啥获取不到textarea的数值 这个问题让我很纳闷  为什么会获取不到呢? 按照逻辑来说 同样都是表单元素  怎么可能出现呢? 我就看了一眼代码 alert($("#textarea").val())textarea的 id 也是textarea 在这里咱们不纠结命名的问题 但是这个代码是真的获取不到 于是我上网查了一下 解决办法如下 alert($("textarea[name=zero]").val());发现这样就可以获取到 alert($('t

Cloudservie将LocalStroage中的内容通过WAD自动上传到BLOB中

开发云服务程序,如果使用Local stroage存储我们临时生成的日志或者文件并将它们自动上传到BLOB中,可以通过WAD来实现,具体如下: 1.配置webrole,开启Local stroage功能: 2.修改wadcfgx文件,添加DataSources属性: 3.添加上传到local storage的代码: Index.cshtml @{ ViewBag.Title = "Home Page"; } <div class="jumbotron">

PHP中Post和Get获取数据写入文件中

有时候Post或者Get传过来的数据我们不知道它是个什么样的形式,它可能是JSON格式或者就是简单提交过来的数据,这时候我们可以把他写入到文本中,就可以看到传过来的数据是什么格式了. $val = ""; $currentDateTime = date('YmdHis',time()); $currentDate = date('Ymd',time()); $fileName = "ioslog/".$currentDate;//文件名称 @$data = fope

使用js 读取excl中的内容并写入到xml文件中

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

C#控制台基础 streamreader与streamwriter读取一个txt中的内容写到另外一个txt中

1 代码 1 using System; 2 using System.Collections.Generic; 3 using System.IO; 4 using System.Linq; 5 using System.Text; 6 using System.Threading.Tasks; 7 8 namespace ConsoleApplication4 9 { 10 class Program 11 { 12 static void Main(string[] args) 13 {

ASP.Net MVC开发基础学习笔记(5):区域、模板页与WebAPI初步

一.区域—麻雀虽小,五脏俱全的迷你MVC项目 1.1 Area的兴起 为了方便大规模网站中的管理大量文件,在ASP.NET MVC 2.0版本中引入了一个新概念—区域(Area). 在项目上右击创建新的区域,可以让我们的项目不至于太复杂而导致管理混乱.有了区域后,每个模块的页面都放入相应的区域内进行管理很方便.例如:上图中有两个模块,一个是Admin模块,另一个是Product模块,所有关于这两个模块的控制器.Model以及视图都放入各自的模块内.可以从上图中看出,区域的功能类似一个小的MVC项

ASP.Net MVC开发基础学习笔记:五、区域、模板页与WebAPI初步

一.区域—麻雀虽小,五脏俱全的迷你MVC项目 1.1 Area的兴起 为了方便大规模网站中的管理大量文件,在ASP.NET MVC 2.0版本中引入了一个新概念—区域(Area). 在项目上右击创建新的区域,可以让我们的项目不至于太复杂而导致管理混乱.有了区域后,每个模块的页面都放入相应的区域内进行管理很方便.例如:上图中有两个模块,一个是Admin模块,另一个是Product模块,所有关于这两个模块的控制器.Model以及视图都放入各自的模块内.可以从上图中看出,区域的功能类似一个小的MVC项