第一次在 StackOverflow 上,很高兴来到这里,希望能和大家一起度过愉快的时光,并尽我所能提供帮助。
好吧,我要问的问题就是我在标题中提出的问题,问题是我正在使用带有四个用户控件的母版页来填充母版页,女巫工作正常,但是在其中一个用户控件中(Principal. ascx)我已经放置了一个带有女巫的 PlaceHolder 我希望根据正在加载的页面更改其中的数据,例如,如果我希望加载 Register Employee 页面,我会将其发送到占位符并显示它,或者如果我希望加载登录页面,我会将其发送到占位符并显示它。所以我正在处理的代码是:
母版页:
<%@ Register Src="~/UserControl/Head.ascx" TagName="Head" TagPrefix="hdr" %>
<%@ Register Src="~/UserControl/Foot.ascx" TagName="Foot" TagPrefix="ftr" %>
<%@ Register Src="~/UserControl/Menu.ascx" TagName="Menu" Tagprefix="mnu" %>
<%@ Register Src="~/UserControl/Principal.ascx" TagName="Principal" Tagprefix="prn" %>
<link rel="Stylesheet" type="text/css" href="~/Css/Styles.css" />
<asp:ContentPlaceHolder ID="head" runat="server"></asp:ContentPlaceHolder>
</head>
<body>
<form runat="server" id="MainForm">
<div class="Container">
<hdr:Head runat="server" ID="hdrHead" />
<mnu:Menu runat="server" ID="menMenu" />
<prn:Principal runat="server" ID="priPincipal" />
<ftr:Foot runat="server" ID="ftrFoot" />
</div>
</form>
</body>
</html>
母版页上还没有代码。
在 Menu UserControl 上是一个使用 JQuery UI 管理的简单菜单,在我能够使登录页面与 UserControl 一起使用后,我将尝试使此菜单动态化,并且仅显示与访问的用户相关的菜单级别页:
<link rel="Stylesheet" type="text/css" href="../Css/jquery-ui-1.10.0.css" />
<script src="../Js/jquery-1.9.1.js" type="text/javascript"></script>
<script src="../Js/jquery-ui-1.10.0.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
$("#menu").menu();
});
</script>
<div class="MenuContainer">
<span style="margin: 20px 10px; padding: 5px;">
Bienvenido, Usuario.
</span>
<div class="Menu">
<ul id="menu">
<li><a href="#">Inicio</a></li>
<li><a href="#">Base de Conocimientos</a>
<ul>
<li><a href="#">Vista general</a></li>
<li><a href="#">Agregar</a></li>
</ul>
</li>
<li><a href="#">Documentación HGI</a>
<ul>
<li><a href="#">Documentos</a></li>
<li><a href="#">Agregar</a></li>
</ul>
</li>
<li><a href="#">Beneficios</a>
<ul>
<li><a href="#">Medio día libre</a></li>
<li><a href="#">Vacaciones</a></li>
</ul>
</li>
<li><a href="#">Mantenimiento</a>
<ul>
<li><a href="#">Códigos</a>
<ul>
<li><a href="#">Vista General</a></li>
<li><a href="#">Agregar</a></li>
</ul>
</li>
<li><a href="#">Configuraciones</a>
<ul>
<li><a href="#">Vista General</a></li>
<li><a href="#">Agregar</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#">Salir</a></li>
</ul>
</div>
</div>
我要加载内容的 UserControl 称为 Principal.ascx:
<div class="Contenido">
<asp:PlaceHolder runat="server" ID="PlaceHolder">
</asp:PlaceHolder>
</div>
我希望在占位符中显示一个测试文本,该文本已从页面 default.aspx 中删除:
<span>
This is the test.
<span/>
UserControls 或 MasterPage 在 .cs 页面上都没有任何类型的代码。