MasterPage Dinâmica
Eu gostaria que de acordo com a opção selecionada no combo na pagina Default.aspx, fosse carregada uma masterpage diferente na pagina Default2.aspx.
Esta dando erro: "Referência de objeto não definida para uma instância de um objeto. " na linha
pagina.MasterPageFile="MasterBlue.master"
da classe BaseMaster.
Segue o codigo das paginas, conto com a ajuda de voces.
Default.aspx
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DropDownList ID="DropDownList1" runat="server">
<asp:ListItem Value="TE">Teste</asp:ListItem>
<asp:ListItem Value="DV">Teste2</asp:ListItem>
</asp:DropDownList>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="OK" />
</div>
</form>
</body>
</html>
Default.aspx.vb
Partial Class _Default
Inherits System.Web.UI.Page
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Response.Redirect(String.Format("Default2.aspx?parceiro={0}", Server.UrlEncode(DropDownList1.SelectedValue)))
End Sub
End Class
Classe BaseMaster.vb
Imports Microsoft.VisualBasic
Public Class BaseMaster
Inherits MasterPage
Public Sub SelecionaMaster(ByRef pagina As MasterPage, ByVal parceiro As String)
If parceiro = "DV" Then
pagina.MasterPageFile = "MasterBlue.master"
Else
pagina.MasterPageFile = "MasterGreen.master"
End If
End Sub
End Class
Default2.aspx
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default2.aspx.vb" Inherits="Default2" %>
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
pagina 2</div>
</form>
</body>
</html>
Default2.aspx.vb
Partial Class Default2
Inherits System.Web.UI.Page
Protected Sub Page_PreInit(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreInit
Dim x As New BaseMaster()
x.SelecionaMaster(Me.Master, Request("Parceiro"))
End Sub
End Class
Discussão (3)
Carregando comentários...