2013-06-07 9 views

Odpowiedz

11

Jeśli jest to klasyczny ASP.NET (nie MVC) i używasz MasterPage następnie można ustawić domyślny tytuł Page_Load imprezy w MasterPage:

protected void Page_Load(object sender, EventArgs e) 
{ 
     if (string.IsNullOrEmpty(Page.Title)) 
     { 
      Page.Title = ConfigurationManager.AppSettings["DefaultTitle"]; //title saved in web.config 
     } 
} 
0

Za pomocą kodu strony głównej można ustawić [this.Title = "Whatever";] lub określić domyślny tytuł w kodzie HTML.

5

Można to zrobić:

Ustawianie nagłówek coś aspx jak ten

<HEAD> 
<TITLE ID=CaptionHere RUNAT="server"></TITLE> 
</HEAD> 

I w kodzie za to umieścić wewnątrz przypadku ładowania strony:

if(!IsPostBack) 
{ 
    myCaption.InnerHtml = "Hope this works!" 
} 

Mam nadzieję, że to pomoże Ci

0
protected void Page_Load(object sender, EventArgs e) 
{ 
    Page.Title = title(); 
} 
private string title() 
{ 

    SqlConnection con = new SqlConnection(cs); 
    string cmdstr = "select * from title where id = 2"; 
    SqlCommand cmd = new SqlCommand(cmdstr, con); 
    DataTable dt = new DataTable(); 
    SqlDataAdapter da = new SqlDataAdapter(cmd); 
    con.Open(); 
    da.Fill(dt); 
    con.Close(); 
    if (dt.Rows.Count > 0) 
    { 
     string title = dt.Rows[0]["title"].ToString(); 
    } 
    return title; 
} 

Jest to pomocne

1

miałem podobny problem i żaden z tych rozwiązań nie działa dobrze dla mnie. Problem wynika z tego, że zdarzenia kontrolowania porządku są uruchamiane dla strony. W moim przypadku miałem kod, który musiał znajdować się w zdarzeniu Page_load (ponieważ było to pierwsze zdarzenie, w którym mamy obiekt żądania, z którym chcemy pracować). Ten kod również musiał zostać uruchomiony, zanim można było ustawić tytuł. Inne strony w mojej witrynie były w stanie po prostu ustawić pożądany tytuł na stronie Ctor, ale ponieważ ta strona musiała najpierw przesłuchać obiekt odpowiedzi w celu uzyskania informacji, był to problem. Problem polega na tym, że strona główna już utworzyła sekcję nagłówka strony, zanim dotarliśmy do zdarzenia Page_load i nie chciałem śmieci na mojej stronie wzorcowej, która była wymagana tylko dla jednej strony w mojej witrynie. Mój prosty siekać do pokonania tego problemu było włożyć trochę javascript inline w części zawartości strony:

<asp:Content ID=BodyContent ContentPlaceHolderID=MainContent RunAt=Server> 
    <script type="text/javascript"> 
     document.title='<%=Title%>'; 
    </script> 

    ... the rest of the content page goes here ... 

</asp:Content> 

Mając to na miejscu, jesteś wolny, aby ustawić tytuł w przypadku Page_Load i to będzie ustawić, gdy tylko ta linia kodu zostanie pobrana. Oczywiście, moja witryna ma już wymaganie JS, więc jeśli próbujesz tego uniknąć, to nie zadziała dla ciebie.

Powiązane problemy