Я использую главные страницы, и у меня возникают проблемы с настройкой заголовков страниц с помощью директивы @ Page. Все мои классы наследуются от класса myPage, который наследуется от класса ASP.NET System.Web.UI.Page. Обратите внимание: у меня установлен runat = "server" в теге заголовка главной страницы.
Вот как выглядят мои директивы @ 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 на каждой странице, но я бы предпочел сделать это в директивах @ Page в файлах .aspx.
Это очень странная и неприятная проблема, и я в растерянности!
Спасибо!!!