RKeyy Sii Ответов: 2

Как поместить общую страницу заголовочного файла на другую страницу? Asp.net


У меня есть мастер-страница в ASP.NET это создает согласованный макет для страниц моего приложения, но есть некоторые страницы, которые помещаются в отдельный файл, поэтому у него нет главной страницы.

У меня также есть отдельная страница файла WACHeader. ascx для заголовка.

Поэтому то, что я хочу сделать, - это поместить общий заголовок или общий макет на страницы, которые помещены в отдельный файл.

Как я могу добавить мастер-страницу в отдельный файл страницы без получения ошибки?

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="TestLogin.aspx.vb" Inherits="ECM.TestLogin" %>


Потому что каждый раз, когда я добавляю

MasterPageFile="~/masterpage/ECM_MasterPage.master"


Я получаю ошибку

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


Как я могу поместить свой общий заголовок?

Что я уже пробовал:

Я попробовал это

<head runat="server">
    <link id="Link1" runat="server" rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
    <title>ECM Test Login</title>
    
    <link rel="stylesheet" href="cssFramework/ecmStyle2.css" type="text/css" media="screen, projection" />
    <link href="WAC/WACHeader.ascx" type="text/asp" />
</head>


Но заголовок не отображается.

Я думал о том, чтобы связать страницу WACHeader со страницей TestLogIn, но как?

Пожалуйста, помогите мне с этим. Спасибо.

2 Ответов

Рейтинг:
16

Karthik_Mahalingam

просто добавьте UserControl вскоре после тега body на страницах, где ссылка на главную страницу не добавлена, он будет действовать как общий заголовок

<body>
    <form id="form1" runat="server">
        <uc1:WACHeader runat="server" ID="WACHeader" />


RKeyy Sii

uc означает для пользовательских элементов управления, верно? Нужно ли мне что-то для этого класть? Я получил сообщение об ошибке "неизвестный тег сервера " uc1:WACHeader".

Он говорит: "непризнанный префикс тега или фильтр устройства "uc1", извините, что я не знаком с этим. Вы можете мне это объяснить? Спасибо

Karthik_Mahalingam

просто перетащите файл из Обозревателя решений, он автоматически отформатирует тег.

поскольку вы использовали файл ascx, я предположил, что вы использовали пользовательский контроль

RKeyy Sii

Спасибо :)

Karthik_Mahalingam

добро пожаловать :)

Рейтинг:
0

Bryian Tan

Простое добавление ссылки на файл MasterPageFile не сработает, вы также переместили содержимое в ContentPlaceHolder?

Вот что я бы предложил: откройте файл XYZ.aspx, который в данный момент использует главную страницу, а затем сравните его со страницей TestLogin. Изменить TestLogin структура страницы, чтобы соответствовать АБВ.aspx-файл. Например, если вы смотрите на АБВ.aspx, который, видите ли вы декларацию DOCTYPE, HTML-код, голова, тело... элементы? Тогда в какой элемент оборачивается содержимое страницы XYZ?


.чистая - как назначить главную страницу к существующему .aspx-страницы? - переполнение стека[^]


RKeyy Sii

Я уже пробовал это сделать, я изменил страницу TestLogin, чтобы она соответствовала странице, которая в данный момент использует главную страницу. И я получил HTTP-ошибку 404-не найден. когда я запускаю свое приложение.

Bryian Tan

Я не думаю, что эта ошибка имела какое-то отношение к тому, что вы сделали. Эта HTTP-Ошибка 404 звучит так, как будто страницы TestLogin.aspx там нет.