2010-01-05 20 views
6

Bir ana sayfanın içinde basit bir sayfa var (iyi, bir master'da bir master).ana sayfa ikinci başlık etiketi üreten

Üst master'da, runat="server" numaralı head etiketine sahip olmakla birlikte, komut dosyaları, stil sayfaları vb. Gibi bir dizi bit ve ayrıca bir içerik alanı sahibi var. Burada başlık etiketi yok.

Bu master'i kullanan sayfada, yer tutucunun içeriği, içinde <title>pagename</title> bit içerir. Onu oraya koymak zorundayım.

Ne yazık ki sayfa görüntülendiğinde, başlığımın iyi olduğunu, ancak ikinci bir boş başlık etiketi almasını sağlıyorum - .NET tarafından orada bırakıldığını varsayalım.

Bu ikinci başlık etiketinin ortaya çıkmasının bir yolu var mı?

cevap

16

<head> .Net'e runat = "server" komutunu koyarak, bellek zaten bir tane yoksa <title> ekler.

I (test etmedim) sizin masterpage size masterpage Başkanı açıkça Başlık etiketi ayarlama ve sahte eserlerin görünürlük ayarını

<head runat="server"> 
Blah 
<title runat="server" visible="false"></title> 
</head> 

yaparsanız olduğunu düşünüyorum. Bence.

Eğer ana sayfa düzeyinde dinamik başlığını ayarlamak isterseniz sayfa düzeyinde

<%@ Master ... %> 
<html> 
<head runat="server"> 
    <title> 
    <asp:ContentPlaceHolder ID="titleContent" runat="server" /> 
    </title> 
</head> 

Veya,

de başlığını ayarlamak istiyorsanız:

+0

kurnazlık, işe yaramazsa da, bunu denemedim. üst usta başlık için ayrı ContentPlaceHolder ekleyerek sona erdi <tutucu burada ... Ben de aynı sorun vardı ve bu düzeltmeyi denedim nasıl olsa – nat

+0

ince sayesinde çalışıyor. Çalıştığını doğrulayabilirim. Aferin. – draconis

+0

ehad etiketinden runat = "server" öğesinin kaldırılması da işe yarıyor gibi görünüyor. – Ondra

4

Kafanıza elle <title> eklemek zorunda değilsiniz.
Page.Title = "title" kodunu veya <%@ Page Title="My Title" .. %> işaretini kullanarak ayarlayın. ASP.NET gerisini çözecek ve doğru başlığı koyacaktır.

1

kullanıyorum düşünüyorum. Boş ikinci başlık etiketinin oluşturulmadığından emin olmanın daha iyi bir yolu

<%@ Master ... %> 
<html> 
<head runat="server"> 
    <title> 
    <asp:Literal ID="litPageTitle" runat="server"></asp:Literal> 
    </title> 
</head> 

.

İlgili konular