【问题标题】:master page control on content page内容页面上的母版页控件
【发布时间】:2014-08-20 10:15:39
【问题描述】:

我在母版页上有以下代码:

<u1>
...............
............
.............
</u1>
<ul>
    <li id="link1" runat="server"><a href="mytestfile.aspx">Test Files</a></li>
    <li id="link2" runat="server"><a href="mylistitemtest.aspx">List Item Test</a></li>
    <li id="link3" runat="server"><a href="Mytest2.aspx">Some Test</a></li>    
</ul> 

我正在尝试访问内容页面上的链接 1:

var pageHandler = HttpContext.Current.CurrentHandler;
         if (pageHandler is System.Web.UI.Page)
         {
             ((System.Web.UI.Page)pageHandler).Master.FindControl("nav_link1").Visible = false;
         }

但我得到的错误是: "对象引用未设置为对象的实例"

【问题讨论】:

    标签: c# master-pages content-pages


    【解决方案1】:

    您的母版页上没有 ID 为 nav_link1 的控件,它是 link1

    【讨论】:

      【解决方案2】:

      How to: Reference ASP.NET Master Page Content

      在 ContentPage 上设置 @MasterType 指令

      <%@ MasterType virtualpath="~/Masters/Master1.master" %>
      

      然后使用 FindControl 在 MasterPage 上找到您想要的内容

      ContentPlaceHolder mpContentPlaceHolder;
      TextBox mpTextBox;
      mpContentPlaceHolder = 
        (ContentPlaceHolder)Master.FindControl("ContentPlaceHolder1");
      if(mpContentPlaceHolder != null)
      {
          mpTextBox = 
              (TextBox) mpContentPlaceHolder.FindControl("TextBox1");
          if(mpTextBox != null)
          {
              mpTextBox.Text = "TextBox found!";
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-01-14
        • 2014-09-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多