1

第一次在 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&oacute;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&iacute;a libre</a></li>
            <li><a href="#">Vacaciones</a></li>
        </ul>
    </li>
    <li><a href="#">Mantenimiento</a>
        <ul>
        <li><a href="#">C&oacute;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 页面上都没有任何类型的代码。

4

0 回答 0