Problemas com master page - Não mostra título

.NET

07/01/2013

Pessoal, criei duas master pages. Uma, foi a master do próprio VS que fiz minhas alterações e está funcionando bem. Aí criei outra master para meus forms de cadastros. Essa tá dando pau. Ela deveria ser semelhante a master padrão, exceto que não existe Menus nela. Não consigo abrir pagina nenhuma herdada dela. Por exemplo, há um título. Esse título fica por baixo do ContentHolder, ou seja, não aparece. Se eu copiar as div da master q está ok, também não funciona. Tentei copiar tudo e fazendo as devidas alterações, mas dá erro.
Pjava

Pjava

Curtidas 0

Respostas

Robson Alves

Robson Alves

07/01/2013

Ao criar as páginas de cadastro você atrelou os mesmos a nova master corretamente?

Repare nessa tag nas páginas de cadastro: MasterPageFile="~/MasterPage/MasterPage.Master"

Veja qual a master ele está herdando e saiba que o <title/> deve estar apenas na master.
GOSTEI 0
Pjava

Pjava

07/01/2013

Quanto a isso está tudo OK. O problema está nas DIV's e etc...
GOSTEI 0
Pjava

Pjava

07/01/2013

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Base.master.cs" Inherits="MedicalService.Base" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<link href="~/Styles/Site.css" rel="stylesheet" type="text/css" />
<asp:ContentPlaceHolder ID="HeadContent" runat="server">
</asp:ContentPlaceHolder>
</head>
<body>
<form runat="server">
<div class="page">
<div class="header">
<div class="title">
<h1>
Bureau de Serviços Médicos
</h1>
</div>
</div>
<div>
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server" />
</div>
<div class="clear">
<asp:Label ID="Label1" runat="server" Text="Nome" />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</div>
</div>
<div class="footer1">

</div>
</form>
</body>
</html>
GOSTEI 0
Robson Alves

Robson Alves

07/01/2013

<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server" />

Ele está fechando sozinho...
Abra a descrição dele e envolta todo o restante do HTML.

<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
GOSTEI 0
Robson Alves

Robson Alves

07/01/2013

Falei besteira.
Agora que vi que aquele HTML é da master...

Fica díficil olhar pro HTML e dizer o que falta..
Entendendo melhor o seu problema. Pq ao invés de criar umas master só para não exibir o menu, pq não desabilita ele quando estiver quando o usuário estiver acessando as páginas de cadastros?
GOSTEI 0
Pjava

Pjava

07/01/2013

Consegui desta forma:

Menu mnu = this.Master.FindControl("NavigationMenu") as Menu;
mnu.Visible = false;
GOSTEI 0
Robson Alves

Robson Alves

07/01/2013

Isso ae... mas vc precisa validar se a tela acessada é de cadastro...

então, faça uma validação na URL acessada, ou crie uma outra Flag que indique isso pro seu código!

Abraços..
GOSTEI 0
José

José

07/01/2013

Valeu PJava por compartilhar como conseguiu solucionar seu problema. Sendo assim estou dando o tópico por concluído.
GOSTEI 0
POSTAR