マスターページを使用していますが、@Pageディレクティブからページタイトルを設定できません。すべてのクラスは、 ASP.NETSystem.Web.UI.Pageクラスから継承するクラスmyPageから継承します。注意:マスターページのヘッドタグにrunat="server"を設定しています。
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」というタイトルが表示されるはずです。ただし、代わりに、マスターページに従って「無題」が表示されます。試行錯誤の末、次のようにmyPageではなく、 System.Web.UI.Pageから直接継承するようにテストクラスを変更しました。
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
そして、すべてがうまくいきました。私のページがSystem.Web.UI.PageではなくmyPageの子であるために、@ Pageディレクティブでタイトルが正しく設定されないのはなぜですか?
すべてのページのPage_Loadメソッドを使用してプログラムでページタイトルを設定できることに気付きましたが、.aspxファイルの@Pageディレクティブで設定したいと思います。
これは非常に奇妙で苛立たしい問題であり、私は途方に暮れています!
ありがとう!!!