2

I have a page that I would like to display a calendar of events that is stored in a MySQL database. I am pulling the events using asp:SqlDataSource and asp:Repeater. I am able to pull the events but I can't get the events to be sorted into the specific day. I"m using a asp:LinkButton with an OnClick event handler, but it doesn't seem to be firing when the LinkButton is clicked. I have included my code below. Any help on what i'm doing wrong and why my OnClick event isn't firing will be greatly appreciated./

ascx - page

<div class="Calendar_Container">
    <ul class="Calendar_Tabs">
        <li><asp:LinkButton runat="server" Text="All<br /> Week" OnClick="ShowEvents" CommandArgument="9"></asp:LinkButton></li>
        <li class="Calendar_Active"><asp:LinkButton runat="server" Text="Sun<br />Nov 1" OnClick="ShowEvents" CommandArgument="1"></asp:LinkButton></li>    
        <li><asp:LinkButton runat="server" Text="Fri<br />Nov 6" OnClick="ShowEvents" CommandArgument="6"></asp:LinkButton></li>
    </ul>
</div>
<div class="Calendar_Content">
    <div id="Calendar_AllWeek" class="Calendar_Tab">
            <asp:SqlDataSource runat="server" ID="sqlGetEventsAllWeek" />    
            <asp:Repeater runat="server" ID="rptGetEventsAllWeek" DataSourceID="sqlGetEventsAllWeek">
                <ItemTemplate>
                    <div class="Calendar_Item">

                        <div class="Calendar_ItemInfo">
                            <div class="Calendar_ItemTitle">
                                <h4><a href='<%# Eval("link") %>'><%# Eval("title") %></a></h4><br />
                                <strong><%# Eval("event_start_time") %>&nbsp;<%# Eval("event_end_time") %><br /><%# Eval("event_location") %></strong><br /></div>
                            <div class="Calendar_ItemDescription">
                                <p><%#System.Web.HttpUtility.HtmlDecode(Eval("description").ToString()) %><br />
                                    <%# Eval("event_day") %>
                                </p>
                            </div>
                        </div>                      
                        <div class="clear_float">&nbsp;</div>
                    </div>
                </ItemTemplate>
                <SeparatorTemplate><hr /></SeparatorTemplate>
            </asp:Repeater>   
        </div>

     <div id="Calendar_EventsSun" class="Calendar_Tab">
            <asp:SqlDataSource runat="server" ID="sqlGetEventSun" />
            <asp:Repeater runat="server" ID="rptGetEventSun" DataSourceID="sqlGetEventSun">
                <ItemTemplate>
                    <div class="Calendar_Item">

                        <div class="Calendar_ItemInfo">
                            <div class="Calendar_ItemTitle">
                                <h4><a href='<%# Eval("link") %>'><%# Eval("title") %></a></h4><br />
                                <strong><%# Eval("event_start_time") %>&nbsp;<%# Eval("event_end_time") %><br /><%# Eval("event_location") %></strong><br /></div>
                            <div class="Calendar_ItemDescription">
                                <p><%# System.Web.HttpUtility.HtmlDecode(Eval("description").ToString()) %>
                                    <br /><strong><%# Eval("event_day") %></strong>
                                </p>
                            </div>
                        </div>
                        <div class="clear_float">&nbsp;</div>
                    </div>
                </ItemTemplate>
                <SeparatorTemplate><hr /></SeparatorTemplate>
            </asp:Repeater>
        </div>
 <div id="Calendar_EventsFri" class="Calendar_Tab">
        <asp:SqlDataSource runat="server" ID="sqlGetEventFri" />
        <asp:Repeater runat="server" ID="rptGetEventFri" DataSourceID="sqlGetEventFri">
            <ItemTemplate>
                <div class="Calendar_Item">

                    <div class="Calendar_ItemInfo">
                        <div class="Calendar_ItemTitle">
                            <h4><a href='<%# Eval("link") %>'><%# Eval("title") %></a></h4>
                            <strong><%# Eval("event_start_time") %>&nbsp;<%# Eval("event_end_time") %><br /><%# Eval("event_location") %></strong><br />
                        </div>
                        <div class="Calendar_ItemDescription">
                            <p><%# System.Web.HttpUtility.HtmlDecode(Eval("description").ToString()) %>
                                <br /><strong><%# Eval("event_day") %></strong>
                            </p>
                        </div>
                    </div>
                    <div class="clear_float">&nbsp;</div>
                </div>
            </ItemTemplate>
            <SeparatorTemplate><hr /></SeparatorTemplate>
        </asp:Repeater>
    </div>
</div>

ascx.cs - code behind

namespace Christoc.Modules.Calendar {
  public partial class View : CalendarModuleBase, IActionable
    {
       protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                if (!IsPostBack)
                {

                    GetAllWeek("9");
                    GetHomecomingWeekSun("1");
                    GetHomecomingWeekFri("6");                    
                }
            }
            catch (Exception exc) //Module failed to load
            {
                Exceptions.ProcessModuleLoadException(this, exc);
            }

        }

        protected void ShowEvents(object sender, EventArgs e)
        {
            string dayId = ((LinkButton)sender).CommandArgument;

            GetAllWeek(dayId);
            GetHomecomingWeekSun(dayId);
            GetHomecomingWeekFri(dayId);
        }

        private void GetAllWeek(string dayId)
        {
            sqlGetEventsAllWeek.ConnectionString = stampConnStr;
            sqlGetEventsAllWeek.ProviderName = stampProvName;            
            sqlGetEventsAllWeek.SelectCommand = string.Format(@"
                SELECT *
                FROM homecoming_program
                WHERE event_day = ?
                ORDER BY event_day DESC;");
            sqlGetEventsAllWeek.SelectParameters.Clear();
            sqlGetEventsAllWeek.SelectParameters.Add(@"day_id", dayId);
            rptGetEventsAllWeek.DataBind();
        }

        private void GetHomecomingWeekSun(string dayId)
        {
            sqlGetEventSun.ConnectionString = stampConnStr;
            sqlGetEventSun.ProviderName = stampProvName;
            sqlGetEventSun.SelectCommand = string.Format(@"
                SELECT *
                FROM homecoming_program
                WHERE event_day = ?
                ORDER BY event_day DESC;");
            sqlGetEventSun.SelectParameters.Clear();
            sqlGetEventSun.SelectParameters.Add(@"day_id", dayId);
            rptGetEventSun.DataBind();
        }

        private void GetHomecomingWeekFri(string dayId)
        {
            sqlGetEventFri.ConnectionString = stampConnStr;
            sqlGetEventFri.ProviderName = stampProvName;
            sqlGetEventFri.SelectCommand = string.Format(@"
                SELECT *
                FROM homecoming_program
                WHERE event_day = ?
                ORDER BY event_day DESC;");
            sqlGetEventFri.SelectParameters.Clear();
            sqlGetEventFri.SelectParameters.Add(@"day_id", dayId);
            rptGetEventFri.DataBind();
        }


    }

}
skaur
  • 31
  • 9

0 Answers0