加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

.net – 如何从用户控件中引用母版页内容控件?

发布时间:2020-12-16 06:29:50 所属栏目:asp.Net 来源:网络整理
导读:我有一个用户控件,我想在主页的头部“注入”一些内容.我试图使用以下方法(母版页和用户控制mmarkup片段)… 母版: asp:ContentPlaceHolder ID="head" runat="server"/asp:ContentPlaceHolder 用户控制: asp:Content ID="Content1" ContentPlaceHolderID="he
我有一个用户控件,我想在主页的头部“注入”一些内容.我试图使用以下方法(母版页和用户控制mmarkup片段)…

母版:

<asp:ContentPlaceHolder ID="head" runat="server">
</asp:ContentPlaceHolder>

用户控制:

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
    <link type="text/css" rel="stylesheet" href="/Shared/Css/Navigation.css" />
</asp:Content>

但是这给出了错误:

Content controls have to be top-level controls in a content page or a
nested master page that references a master page.

那么如何在运行时从控件中将内容放入母版页?

解决方法

您可以通过母版页的公共方法访问母版页内容.因此,如果我从您的问题中提取示例,您可以使用以下代码修改在用户控件或页面中设置母版页中链接的href:

在主页中将链接作为“普通内容”引入并给他一个id,以便您可以从后面的代码访问它.

<link id="link" type="text/css" rel="stylesheet" />

将属性添加到设置为href的母版页.

public string LinksHref
{
     get { return link.Href; }
     set { link.Href = value; }
}

如果要从页面访问此页面,可以添加MasterType指令.

<%@ MasterType VirtualPath="~/Site.Master" %>

更改后面控件代码中的属性.

Master.LinksHref = "/Shared/Css/Navigation.css";

如果要从用户控件访问它,则不能使用MasterType指令并且必须自己进行转换:

((MasterPageClassName)Page.master).LinksHref= "/Shared/Css/Navigation.css";

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读