dynamic links in calendar control

indyB

Member
Joined
Mar 13, 2003
Messages
15
Ive got my calendar control displaying events from a SQL db...which is great! But I need to make these events link to a detail page, base on the id field in the events table.

Normally I would do dynamic links, not in calendars, like this:

<asp:HyperLink NavigateUrl=<%# "eventDetail.aspx?id=" & DataBinder.Eval(Container.DataItem, "id") %> runat="server" ID="eventLink" NAME="eventLink" Text=<%# DataBinder.Eval(Container.DataItem, "Event") %> />


How can I encorporate that link in my calendar controls code. Heres the code for the calendar page:


<%@ Page Language="C#" Debug="true" %>

<%@ Import Namespace="System.Xml" %>

<%@ import Namespace="System.Data" %>

<%@ import Namespace="System.Data.SqlClient" %>



<script runat="server">

DataSet ds = new DataSet();

protected void Page_Load(Object Src, EventArgs E)

{

string connectionstring = "server=10.1.0.9; user id=iaradmin; password=21jeremiah6; Database=IAR";

string sql = "select * from events";

SqlDataAdapter da = new SqlDataAdapter(sql, connectionstring);

da.Fill(ds, "events"); }

protected void eventscalendar_DayRender(Object Src, DayRenderEventArgs E)

{

StringBuilder strEvents = new StringBuilder();

strEvents.Append("<span style=\"font-size:80%\">");

foreach (DataRow row in ds.Tables["events"].Rows)

{

DateTime eventdate = (DateTime)row["Start_date"];

if (eventdate.Equals(E.Day.Date))

strEvents.Append("<br />" + row["Event"]); }

strEvents.Append("");

E.Cell.Controls.Add(new LiteralControl(strEvents.ToString()));

}

</script>



<form runat="server">

<asp:calendar daystyle-ForeColor="#333333" DayHeaderStyle-BackColor="#006699" DayHeaderStyle-ForeColor="#FFFFFF" TitleStyle font-bold="True"

PrevMonthText="< Prev" NextMonthText="Next >" OtherMonthDayStyle-BackColor="#CCCCCC" OtherMonthDayStyle-ForeColor="#999999"

WeekendDayStyle-BackColor="#F4F4F4" TodayDayStyle-BackColor="#6699cc" SelectedDayStyle-BackColor="#3399CC" id="eventcalendar"

runat="server" OnDayRender="eventscalendar_DayRender" ShowGridLines="true"

DayStyle-HorizontalAlign="right"></asp:calendar>

</form>
 
Back
Top