2014-09-18 3 views
0

Я пытаюсь получить доступ к основному ресурсу страницы на странице содержимого, чтобы легко установить литерал в файле главной страницы. Таким образом, я создал свойству мастер-страницы таким образом, в Masterpage Vb файлОсновная страница Открытое свойство недоступно в содержании Страница

Public Property PropertyOnMasterPage() As String 
    Get 
     ' Get value of control on master page 
     Return ltr_companyname.Text 
    End Get 
    Set(ByVal value As String) 
     ' Set new value for control on master page 
     ltr_companyname.Text = value 
    End Set 
    End Property 

Но я понятия не имею, как я могу получить или установить свойство от содержимого страницы. (На основе on this tutorial). Thats in C#. Но когда я попробовал Учителя. intellisense не показывает, что свойство главной страницы. Итак, как я могу получить свойство главной страницы на странице contetn. Нужно ли ссылаться на страницу контента?

EDIT

Это главная страница и скриншот содержимого страницы .. На скриншоте страницы содержания, вы можете увидеть IntelliSense не находя, что свойство

контента страницы enter image description here

Master страницы enter image description here

+0

насчет this.Master –

+0

в VB.NET - на равносильна из C# 's '' this.' является Me.' - попробовать, что и посмотреть, если вы можете получить доступ к мастеру –

ответ

1

Невероятное, что вам нужно установить MasterType со страницы содержимого, чтобы он знал, какой класс является главной страницей. Затем он будет строго напечатан, и его не нужно будет бросать.

Поместите это ниже своей директивы @ Page, очевидно, с правильным путем на главную страницу.

<%@ MasterType VirtualPath="~/masters/SourcePage.master" %> 
1

В C# Вы можете использовать this.Master для доступа к странице Master pa GE Я думаю, что вы должны иметь Me.Master

так В Материалам вы бы в конечном итоге, как этот

Me.Master.PropertyOnMasterPage 
+0

Пожалуйста, проверьте правку я сделал .. спасибо –

+1

Это будет работать, только если директива MasterType правильно установлена ​​на странице. – mason

0

Я не имел счастья с сильной ссылкой набрав на главной странице, так что я обычно делаю является создание интерфейса:

Public Interface IMyMaster 
    Property PropertyOnMasterPage As String 
End Interface 

На своей странице главного файла, его реализации:

Public Class SiteMaster 
    Inherits MasterPage 
    Implements IMyMaster 

    Public Property PropertyOnMasterPage As String Implements IMyMaster.PropertyOnMasterPage 

End Class 

А затем преобразовать ссылку Me.Master к интерфейсу, а также получить доступ к собственности, как:

CTYpe(Me.Master, IMyMaster).PropertyOnMasterPage 

Интерфейс добавляет рыхлое соединение (вид) в любом случае.

+0

Я добавил немного больше деталей .. Просьба проверить это тоже .. –

+0

Изображения заблокированы (прокси), но в любом случае, intellisense работает только с строго типизированной главной страницей. У меня были проблемы с этим (иногда работала, а не с другими), но если вы используете технику выше, она будет работать нормально. –

Смежные вопросы