Мне показалось необычным, что вы инициализируете метод базового класса последней строкой. Моя первая ставка была на то, что это отменяет инициализацию вашей культуры. Но я проверил это - это не проблема. Ваш код должен работать в любом случае.
Вы уверены, что в вашем коде нет другого места с инициализацией культуры? CurrentThread является глобальной переменной, и если вы измените ее где-нибудь еще (в веб-элементе управления? На уровне данных?), Это повлияет на вашу страницу.
Вот мой пример кода, работающий на немецком / английском. Должно работать и на персидском / английском.
Partial Public Class _Default
Inherits BasePage
End Class
Public Class BasePage
Inherits System.Web.UI.Page
Protected Overrides Sub InitializeCulture()
MyBase.InitializeCulture()
Dim cultureInfo = New CultureInfo("de-DE")
Thread.CurrentThread.CurrentCulture = cultureInfo
Thread.CurrentThread.CurrentUICulture = cultureInfo
End Sub
End Class