标签: master-pages

为什么我们使用@Master类型?

如果我们有一个母版页和一个内容页面.那么内容页面@Page指令看起来像

<%@ Page Language="C#" MasterPageFile="~/Site1.Master" .... />
Run Code Online (Sandbox Code Playgroud)

所以,为了访问内容页面中的母版页控件,我们应该使用

<%@ MasterType VirtualPath="~/Site1.Master" %>
Run Code Online (Sandbox Code Playgroud)

所以,我的问题是为什么我们在@page指令中定义了这个内容页面在主页面中时使用@MasterType指令(这里是Site1.Master)

c# asp.net master-pages content-pages

15
推荐指数
1
解决办法
1万
查看次数

UpdatePanel asyncpostback后页面丢失标题

我刚刚注意到,在我从UpdatePanel主页面内部执行asyncpostback后,我的页面标题将重置为标准的"Untitled Page" .从母版页内部回发期间(例如,当我单击母版页内的搜索框按钮时),标题不会丢失.

我假设通过使用不同的contentplaceholder专门设置文档标题我将避免这样的问题,但显然我错了.除了必须在ASPX页面的代码隐藏中明确设置标题之外还有其他我想念的东西(我希望避免使用下面设置的方式)吗?

这是我的页面的基本要点,即调用母版页(下面的母版页代码)

<asp:Content ID="Content1" ContentPlaceHolderID="title" Runat="Server">
    Page Title
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="head" Runat="Server">
    <script type="text/javascript">
        //random javascript validators
    </script>   
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="content" Runat="Server">
    <div class="title">
        Account Management
    </div>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            //Username + Password Set Form
        </ContentTemplate>       
    </asp:UpdatePanel>

</asp:Content>
Run Code Online (Sandbox Code Playgroud)

这是母版页.ASP.NET AJAX ScriptManager首先放在<form>正文中的标记之后.

<head id="Head1" runat="server">
    <title>
        <asp:ContentPlaceHolder id="title" runat="server">
        </asp:ContentPlaceHolder>
    </title>
        //Stylesheet references

    <script type="text/javascript">
        //Random javascript functions
    </script>

    <asp:ContentPlaceHolder id="head" runat="server">
    </asp:ContentPlaceHolder>
</head>
Run Code Online (Sandbox Code Playgroud)

asp.net master-pages asp.net-ajax

14
推荐指数
2
解决办法
8194
查看次数

ASP.NET MVC中是否有嵌套的母版页?

我想知道MVC框架是否可以利用嵌套母版页?如果有的话,是否有人知道如何实现这一目标?

asp.net asp.net-mvc master-pages

14
推荐指数
2
解决办法
7850
查看次数

在具有母版页的页面上查找控件

我必须Control在一个绑定到母版页的aspx页面中找到一个.

母版页包含:

<asp:ContentPlaceHolder ID="MainContent" runat="server"/>               
Run Code Online (Sandbox Code Playgroud)

内容页面包含:

<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" Runat="Server">
</asp:Content>
Run Code Online (Sandbox Code Playgroud)

我添加了一个TableID formtable作为一个孩子Content2.

我尝试使用以下代码来访问Table,但代码返回null:

protected void Ok_Click(object sender, EventArgs e)
{
    Table tblForm = this.FindControl("MainContent").FindControl("formtable") as Table;                 
}
Run Code Online (Sandbox Code Playgroud)

我该如何访问Table

c# asp.net master-pages findcontrol

14
推荐指数
1
解决办法
4万
查看次数

如何使用asp.net在内容页面中设置默认按钮?

我需要设置内容页面默认按钮.我的代码是这样的:

<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent" 
defaultbutton="BtnSearch" defaultfocus="TxtSearchValue">
Run Code Online (Sandbox Code Playgroud)

它工作正常,但我的主页菜单有一个图像按钮,如聊天,我可以按回车键触发图像按钮点击事件,但它不会触发内容页面中的默认按钮.

如何处理这类问题?

asp.net master-pages button content-pages

14
推荐指数
4
解决办法
6万
查看次数

Twitter bootstrap + asp.net主页,如何在用户选择导航栏项时将其设置为活动状态?

我们处于相同的情况,因为问题使Twitter Bootstrap导航栏链接处于活动状态,但在我们的情况下,我们正在使用ASP.net和MasterPages ......

问题是导航栏在主页面上定义,当您单击菜单项时,您将被重定向到相应的子页面,那么如何在不重复每个子页面中的逻辑的情况下,如何更改导航栏活动项目?(最好只在主页面上没有会话变量和javascript)

asp.net master-pages navbar twitter-bootstrap

14
推荐指数
1
解决办法
1万
查看次数

如何将viewmodel传递给布局/母版页?

谷歌搜索了一段时间后,我对如何在asp mvc 3中这样做有点困惑.

因此,任务是为几个控制器的视图提供一个公共布局(或主?)页面.所有视图都是强类型的...这个布局页面实际上可视化一些强类型的对象.所以,我需要将这个对象传递给布局页面,将它传递给`Html.RenderPartial()'或者在页面中正确呈现它.

文章将数据传递给查看母版页(C#)(虽然是mvc2的旧版本)提供了一个示例来提供基本抽象控制器类,并将模型传递给ViewData.这可能是治愈方法.

但...

在某些线程中,我找到了一种可以创建强类型母版页的方法:

<%@ Master ... Inherits="System.Web.Mvc.ViewMasterPage<MyWeb.Models.Client>" %>
Run Code Online (Sandbox Code Playgroud)

那么,mvc3中有相同的方法吗?或者将数据传递到布局页面的唯一方法是使用ViewBag还是ViewData?

在阅读了什么是在asp.net-mvc中将ViewModel数据绑定到母版页的最佳方法之后,我已经考虑了Darin的答案,但仍然认为这一组视图将具有相同的布局,并且没有理由反对DRY原理.

那么,如何将强类型对象传递给布局页面?或者我混淆了什么?

c# master-pages asp.net-mvc-3

14
推荐指数
1
解决办法
1万
查看次数

如何从用户控件引用母版页?

我正在寻找一种方法(最好)从用户控件强烈键入母版页,该控件位于使用母版页的内容页面中.

遗憾的是,你不能在用户控件中使用它:

<%@ MasterType VirtualPath="~/Masters/Whatever.master" %>
Run Code Online (Sandbox Code Playgroud)

我正在尝试从用户控件访问母版页的属性,而不是必须将属性从母版页传递到内容页面到用户控件,因为多个内容页面使用相同的用户控件.一个变化,一个地方诸如此类.

c# asp.net user-controls master-pages

13
推荐指数
1
解决办法
7323
查看次数

开源Asp.Net主页面模板

我在哪里可以下载开源Asp.Net Master页面模板?

asp.net master-pages

13
推荐指数
1
解决办法
9万
查看次数

ASP.net通过内容页面访问主页变量

我有一个母版页:

<%@ Master Language="C#" AutoEventWireup="true" Codefile="AdminMaster.master.cs" Inherits="AlphaPackSite.MasterPages.AdminMaster" %>
Run Code Online (Sandbox Code Playgroud)

然后我有一个公共变量:

public partial class AdminMaster : System.Web.UI.MasterPage
{
    protected bool blnShowDialogue = false;
Run Code Online (Sandbox Code Playgroud)

在我的内容页面中,我想设置此变量:

blnShowDialogue = true;
Run Code Online (Sandbox Code Playgroud)

所以在我的母版页中我可以得到代码:

    $(function() {
    <%if(blnShowDialogue == true){%>
        $("#dialog").dialog();
    <% } %>
    }
Run Code Online (Sandbox Code Playgroud)

这有意义吗?当我尝试Master.blnShowDialogue或blnShowDialogue =等的组合时,似乎没有任何工作.

当前上下文中不存在名称"blnShowDialogue"

c# asp.net master-pages winforms

13
推荐指数
2
解决办法
3万
查看次数