我正在使用母版頁,並且無法從@ Page指令中設置頁面標題。我所有的類都繼承自類myPage,它繼承自ASP.NET System.Web.UI.Page類。 請注意:我有runat =「服務器」設置在我的母版頁頭標記。使用母版頁從ASP.NET中的@ Page指令設置頁面標題
這裏是我的@ Page指令看起來像的文件test.aspx.vb:
<%@ Page language="VB" MasterPageFile="~/MainMaster.master"
autoeventwireup="false" CodeFile="test.aspx.vb"
Inherits="test" Title="test" %>
這裏是test.aspx.vb樣子:
Partial Class test
Inherits myPage
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
End Sub
End Class
這是我的主文件,MainMaster.master,看起來像:
<%@ Master Language="VB" CodeFile="MainMaster.master.vb" Inherits="MainMaster" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>untitled</title>
</head>
...
現在,當您在瀏覽器中查看test.aspx時,您會看到標題'test'。但相反,您會根據母版頁看到「無標題」。經過反覆試驗,我修改了測試類直接System.Web.UI.Page繼承,而不是MYPAGE的是這樣的:
Partial Class test
Inherits Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
End Sub
End Class
,一切工作就好了。爲什麼我的頁面是myPage而不是的子項System.Web.UI.Page阻止在@ Page指令中正確設置標題?
我意識到我可以通過編程方式設置頁面標題,通過每頁中的Page_Load方法,但我寧願在.aspx文件中的@ Page指令中執行此操作。
這是一個非常奇怪和令人沮喪的問題,我很茫然!
謝謝!
您是使用VB還是C#? – 2009-01-29 21:40:32
謝謝你的回覆,丹。我嘗試將AutoEventWireup =「false」添加到我的母版頁中,但沒有任何結果。關於代碼隱藏與代碼文件,顯然代碼文件與.NET 2.0中所做的更改有關:http://www.ddj.com/windows/187202007 – wilsoniya 2009-01-29 21:47:40