Zugriff auf masterpage-Eigenschaften von "child" - Seiten in ASP.net VB
Habe ich masterpage.master.vb, wo ich Eigenschaften, wie;
Private _SQLerror As String
Public Property SQLerror() As String
Get
Return _SQLerror
End Get
Set(ByVal value As String)
_SQLerror = String.Empty
End Set
End Property
Dann habe ich eine aspx-Seite, in der ich diese Eigenschaft an, wie;
If **[masterpage property sqlerror]** = Nothing Then
InternalSQLErrLabel.Text = ("No Errors Reported")
End If
Kann mir jemand eine Idee, wie man das angehen? Ich habe versucht, auf der Suche, aber die meisten Artikel sprechen im Kontext von web-controls...
Dank.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier gehen Sie:
Gewusst wie: Verweisen ASP.NET Master-Seite-Inhalt
Aus dem Artikel, wie es aussieht
sollte für Sie arbeiten.
Nur sicher sein, fügen Sie die MasterType-Direktive, wie beschrieben, oder Sie könnten eine Art Fehler bei der Konvertierung. (Oder verwenden Sie eine variable des master-Seite geben Sie statt der Master, als daRoBBie schlägt in seiner Antwort.)
Habe ich eine test-Website, nur um zu testen, und es funktioniert. Hier ist die vollständige Quelle der Website:
Site1.Master:
Site1.Master.vb:
WebForm1.aspx:
WebForm1.aspx.vb:
können Sie werfen der masterpage auf den korrekten Typ:
Dann können Sie den Zugriff auf Ihre Eigenschaften:
Wenn Sie mehrere master-Seiten, lassen Sie Ihre masterpages Erben von einem interface, und warf die masterpage auf die Schnittstelle.
Die Sie verwenden können, <%@ MasterType %> auch für diese.
Wenn Sie die Schritte im Andy West ' s Antwort und haben einen oder viele Fehler bei der Kompilierung zu Lesen:
Foo is not a member of 'System.Web.UI.MasterPage'
stellen Sie sicher, dass Sie die einzige kompilieren Fehler in deiner Liste. Wenn es andere Compiler-Fehler, die behoben werden müssen, sollten diese behoben werden, bevor Sie die Problembehandlung fortsetzen IhreMasterPage
.Diese anderen Compiler-Fehler kann verhindern, dass der compiler analysiert Ihre
MasterPage
und Ermittlung der zusätzlichen Eigenschaften. Sobald Sie gelöst sind, führen Sie eine vollständige Neukompilierung.