Chapter 8 Banner - both visible
Hi,
I've been trying to work out why both banners are visible when the page loads.
Here is the code
Banner.aspx
<%@ Control Language="C#" AutoEventWireup="false" CodeFile="Banner.ascx.cs" Inherits="Controls_Banner" %>
<asp:Panel ID="VerticalPanel" runat="server">
<a href="http://p2p.wrox.com" target="_blank" runat="server" id="VerticalLink">
<asp:Image ID="Image1" runat="server" AlternateText="This is a sample banner" ImageUrl="~/Images/Banner120x240.gif" />
</a>
</asp:Panel>
<asp:Panel ID="HorizontalPanel" runat="server">
<a href="http://p2p.wrox.com" target="_blank" runat="server" id="HorizontalLink">
<asp:Image ID="Image2" runat="server" AlternateText="This is a sample banner" ImageUrl="~/Images/Banner468x60.gif" />
</a>
</asp:Panel>
Code Behind
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class Controls_Banner : System.Web.UI.UserControl
{
public Direction DisplayDirection { get; set; }
public string NavigateUrl
{
get
{
object _navigateUrl = ViewState["NavigateUrl"];
if (_navigateUrl != null)
{
return (string)_navigateUrl;
}
else
{
return "http://p2p.wrox.com"; // Return a default value
}
}
set
{
ViewState["NavigateUrl"] = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
HorizontalPanel.Visible = false;
VerticalPanel.Visible = false;
switch (DisplayDirection)
{
case Direction.Horizontal:
HorizontalPanel.Visible = true;
HorizontalLink.HRef = NavigateUrl;
break;
case Direction.Vertical:
VerticalPanel.Visible = true;
VerticalLink.HRef = NavigateUrl;
break;
}
}
SiteMaster.aspx
<Wrox:Banner ID="Banner1" runat="server" DisplayDirection ="Horizontal" />
}
Can you help please?
Thanks!
|