标签: master-pages

将ASP.Net MVC与WebForms结合使用

是否有可能创建一个MVC根应用程序(具有主页和主题的Portal)并添加几个基于WebForms的子项目(我们已经有一个现有的WebForms应用程序,我们想要集成到Portal中)?

您将如何集中导航(站点地图,网址路由)?
你会如何分享这些主页?
您如何参考资源(〜问题等)?

这里描述的那样的解决方案似乎有些过时了

asp.net-mvc webforms master-pages sharing

43
推荐指数
3
解决办法
4万
查看次数

分析器错误:此处不允许使用'_Default',因为它不会扩展类'System.Web.UI.Page'和MasterType声明

我最近将一个网站项目转换为Visual Studio 2008中的一个Web应用程序项目.我终于将其编译,并且第一页(登录屏幕)正常显示,但是当它重定向到Default.aspx页面时,我收到了一个错误:

Parser Error Message: 'SOME.NAMESPACE.MyApplicationName.WebApplication._Default' is not allowed here because it does not extend class 'System.Web.UI.Page'.
Run Code Online (Sandbox Code Playgroud)

我的所有页面都继承自一个名为"BasePage"的类,它扩展了System.Web.UI.Page.显然问题不在于该类,因为login.aspx页面显示没有错误,并且它也从该基页继承.

网站上的所有页面(包括登录页面)都是母版页的子页面.

经过一些测试,我已经确定导致错误的是什么(虽然我不知道为什么会这样做).

在我有以下标记的所有页面上,不会发生错误.

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

在所有不包含该行的页面上,都会出现错误.这贯穿整个应用程序.我只在需要在MasterPage上引用控件的页面上有标记.

所以,我想我会把这一行添加到我的所有页面并完成它.但是当我添加该行时,我得到一个编译错误:'object'不包含'Master'的定义

此错误来自与我添加了"MasterType"声明的ASPX页面关联的designer.cs文件.

我强制重建设计器文件,但这并没有改变任何东西.我比较了login.aspx(工作)和default.aspx(不工作)之间的设计器文件中的Master引用的内容,但它们完全相同.

因为我真的想让它工作而不必将"MasterType"声明添加到每个页面,并且由于"修复"无论如何都没有用,有没有人知道为什么不在aspx文件上使用"MasterType"声明导致解析器错误?有没有解决这个问题?

示例代码:

以下是login.aspx和login.aspx.cs的代码,它可以正常工作:

为Login.aspx

    <%@ Page Title="" Language="C#" MasterPageFile="~/MasterPages/MainMaster.master" AutoEventWireup="true" Inherits="SOME.NAMESPACE.MyApplicationName.WebApplication.Login" Codebehind="Login.aspx.cs" %>
<%@ MasterType VirtualPath="~/MasterPages/MainMaster.master" %>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder" Runat="Server">
    <table>
    <tr>
        <td>
            <asp:UpdatePanel ID="upLogin" runat="server">
                <ContentTemplate>
                    <asp:Panel ID="Panel1" runat="server" DefaultButton="Login1$LoginButton">
                        <asp:Login ID="Login1" runat="server" LoginButtonStyle-CssClass="button" 
                        TextBoxStyle-CssClass="textBoxRequired" 
                        TitleTextStyle-CssClass="loginTitle"  >
                        </asp:Login>
                    </asp:Panel>
                </ContentTemplate>
            </asp:UpdatePanel>
            <asp:UpdatePanel ID="upPasswordRecovery" runat="server">
                <ContentTemplate>
                <asp:PasswordRecovery ID="PasswordRecovery1" runat="server" …
Run Code Online (Sandbox Code Playgroud)

c# asp.net master-pages

42
推荐指数
2
解决办法
9万
查看次数

哪个事件先叫?母版页Page_Load或内容页Page_Load

我有一个母版页面和一个使用母版页面的网页.

在这两个我都有一个Page_Load事件处理程序.

Page_Load调用处理程序的顺序是什么?内容首先是Master或Master然后是内容?

asp.net master-pages

41
推荐指数
2
解决办法
5万
查看次数

在ASP.NET中使用MasterPages时使用JQuery的正确方法?

在没有母版页的aspx页面中使用JQuery时没有问题,但是当我尝试在具有母版页的页面中使用它时,它不起作用,所以我最终将jquery文件和其他脚本文件放在页面而不是主页.现在,如果我有10页,我正在为所有10个页面执行此操作,我知道这是不正确的.在下面的示例主页中,我将在哪里放置我的脚本文件.

<html>
<head runat="server">
    <asp:ContentPlaceHolder ID="head" runat="server">
    </asp:ContentPlaceHolder>
</head>
<body>
    <asp:ContentPlaceHolder ID="ContentPanel" runat="server">
    </asp:ContentPlaceHolder>            
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我最近使用了fancybox插件,而我所做的不是将jquery脚本和fancybox脚本放在母版页中,因为我对它的工作感到沮丧,我只是把它放在我希望脚本运行的页面中,特别是在在关闭asp之前的底部:内容.当然,现在我有一个问题,如果我想在其他页面中使用fancybox插件,我会将jquery脚本和fancybox脚本放在所有5个页面而不仅仅是母版页上.在处理主页时,使用上面的示例,一切都在哪里?

asp.net jquery master-pages fancybox

39
推荐指数
2
解决办法
7万
查看次数

获取ControllerName和ActionName并在Master Page中填充ViewData?

SuperController将从所有控制器继承.在构造函数中,我尝试使用 ControllerName和ActionName 填充ViewData .

我不打算将ControllerName和ActionName作为ViewData传递.我有一个需要ControllerName和ActionName的方法,我需要将方法的返回值作为ViewData传递.

我怎样才能做到这一点?

asp.net-mvc master-pages

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

是否可以在MVC和webforms之间共享母版页?

我正在将MVC添加到具有许多遗留webform页面的项目中.这很好用.但是,我目前有一个单独的MVC和webforms母版页.两个母版页产生基本相同的输出.我真的很想杀掉webforms,只需使用我的所有页面的MVC母版页并保持干净.

当我忘记改变两者时,不是DRY已经咬了我几次.

我试着用显而易见的方法,只是将webform内容页面的MasterPage属性指向MVC主页面.这会抛出一个错误,说MVC主控只能使用MVC视图.

这似乎是混合MVC和webform项目的一个相当普遍的问题.我的MVC主人没有对ViewData做任何事情,所以我没有看到webforms无法使用它们的任何原因.

legacy asp.net-mvc webforms master-pages dry

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

只允许内容控件直接在包含ASP.NET中的内容控件的内容页面中

我有一个具有母版页和子页面的应用程序.我的应用程序在本地主机上(在我的Intranet上)正常工作.但是,只要我把它放在互联网上的服务器上,我点击任何菜单后都会看到如下所示的错误.

只有内容控件才能直接包含在包含内容控件的内容页面中.

截图

asp.net master-pages

32
推荐指数
6
解决办法
7万
查看次数

分析器错误消息:无法加载类型'webmarketing'

完成Web应用程序并在线发布后,无论我尝试如何,我都会遇到以下错误,请记住它在本地运行应该...

分析器错误消息:无法加载"网络营销"类型.

在此输入图像描述

虽然据说我和解决方案做的一样,但我还是遇到了同样的问题......

ASP.NET分析器错误无法加载代码


这是后面的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace webmarketing
{
    public partial class Masterpage : System.Web.UI.MasterPage
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string admin = (string)Session["Admin"];
            if (string.IsNullOrEmpty(admin))
            {
                logout.Visible = false;
            }
            else
            {

            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net master-pages

31
推荐指数
4
解决办法
9万
查看次数

如何在主页面上使用JQuery?

只要没有涉及母版页,我就可以得到简单的例子来正常工作.我想要做的就是点击一个按钮,使用母版页在.js文件中用javascript说"hello world".非常感谢任何帮助:)

asp.net jquery master-pages

30
推荐指数
6
解决办法
7万
查看次数

如何通过后面的代码显示无

我试过这个

login_div.Style("display") = "none";
Run Code Online (Sandbox Code Playgroud)

但它不起作用.我可以通过后面的代码将div的显示设置为none,在aspx中我有一个div:

<div id="login_div" runat="server">
Run Code Online (Sandbox Code Playgroud)

asp.net master-pages

29
推荐指数
2
解决办法
10万
查看次数

标签 统计

master-pages ×10

asp.net ×7

asp.net-mvc ×3

c# ×2

jquery ×2

webforms ×2

dry ×1

fancybox ×1

legacy ×1

sharing ×1