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

07/01/2013

2

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.
Responder

Posts

07/01/2013

Robson Alves

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.
Responder

07/01/2013

Pjava

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

07/01/2013

Pjava

<%@ 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>
Responder

07/01/2013

Robson Alves

<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>
Responder

07/01/2013

Robson Alves

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?
Responder

07/01/2013

Pjava

Consegui desta forma:

Menu mnu = this.Master.FindControl("NavigationMenu") as Menu;
mnu.Visible = false;
Responder

07/01/2013

Robson Alves

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..
Responder

25/07/2013

José

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