2013-06-07 34 views

Trả lời

11

Nếu đây là cổ điển ASP.NET (không MVC) và bạn đang sử dụng MasterPage sau đó bạn có thể đặt tiêu đề mặc định trong Page_Load sự kiện trong 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

Trong mã trang chính của bạn phía sau, bạn có thể đặt [this.Title = "Whatever";] hoặc bạn cũng có thể chỉ định tiêu đề mặc định trong HTML.

5

Bạn có thể làm điều này:

Đặt tiêu đề aspx giống như thế này

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

Và mã sau đặt sự kiện tải trang này:

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

Tôi hy vọng điều này sẽ giúp bạn

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; 
} 

này là hữu ích

1

Tôi đã có một vấn đề tương tự và không ai trong số các giải pháp này làm việc tốt cho tôi. Sự cố bắt nguồn từ sự kiện kiểm soát đơn đặt hàng kích hoạt cho một trang. Trong trường hợp của tôi, tôi đã có một số mã cần thiết trong sự kiện Page_load (điều này là do đó là sự kiện đầu tiên mà chúng ta có một đối tượng Request để làm việc với). Mã đó cũng cần chạy trước khi tiêu đề có thể được đặt. Các trang khác trong trang web của tôi có thể chỉ cần đặt Tiêu đề mong muốn trong trang Ctor nhưng vì trang này cần thẩm vấn đối tượng phản hồi để biết thông tin đầu tiên, đó là một vấn đề. Vấn đề với điều này là trang chính đã tạo phần tiêu đề trang vào thời điểm chúng tôi nhận được sự kiện Page_load và tôi không muốn rác trong trang chính của mình chỉ được yêu cầu cho một trang duy nhất trên trang web của tôi. Hack đơn giản của tôi để vượt qua vấn đề này là để chèn một chút inline javascript trong phần nội dung của trang:

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

Với điều này tại chỗ, bạn có thể tự do thiết lập các đề trong sự kiện Page_Load và nó sẽ được đặt ngay khi dòng mã này đã được tải xuống. Tất nhiên, trang web của tôi đã có một yêu cầu JS vì vậy nếu bạn đang cố gắng tránh điều đó thì điều này sẽ không hiệu quả với bạn.

Các vấn đề liên quan