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>
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>