Ich kann Ereignisse aus meinem Google-Kalender mithilfe eines API-Schlüssels erfolgreich abrufen.
Die Ereignisse werden auf meiner Webseite wie folgt dargestellt:
5/31/2016 9:00:00 AM - 2016.05.31 12.00.00
Veranstaltung Titel: Staff Meeting
Beschreibung: Wöchentliche Mitarbeiterbesprechung
Ich möchte die Farbe für "Event Title" auf rot durch den Code hinter der Datei festlegen. Ich habe versucht, es in Zeile in meinem dt.Rows.Add zu ändern, aber war erfolglos. Gibt es eine Möglichkeit für mich, es im Code hinter zu ändern, damit nur der "Event Title:" ausgeführt wird?Ändern des Titels des Google Kalender-Termins mit Google Kalender API v3 und Data Repeater
aspx Code
<div>
<asp:Repeater runat="server" ID="rptCalEvents">
<ItemTemplate>
<asp:Label runat="server" ID="lblItemTemplate" Visible="true"> <%# Eval("Summary") %> </asp:Label>
</ItemTemplate>
</asp:Repeater>
<br />
<asp:Label runat="server" ID="lblTesting" ForeColor="#660000" Font-Bold="true" Font-Size="15px" Visible="false"></asp:Label>
</div>
aspx.cs Code
protected void Page_Load(object sender, EventArgs e)
{
GetCalEvents();
}
private void GetCalEvents()
{
var service = new CalendarService(new BaseClientService.Initializer()
{
ApiKey = "MY API KEY",
ApplicationName = "Events Calendar",
});
DataTable dt = new DataTable();
dt.Columns.Add("Summary");
EventsResource.ListRequest request = service.Events.List("Google Calendar");
request.TimeMin = DateTime.Now;
request.TimeMax = DateTime.Today.AddDays(1);
request.SingleEvents = true;
request.OrderBy = EventsResource.ListRequest.OrderByEnum.StartTime;
Events events = request.Execute();
if (events.Items != null && events.Items.Count > 0)
{
foreach (var eventItem in events.Items)
{
string when = eventItem.Start.DateTime.ToString();
if (String.IsNullOrEmpty(when))
{
when = eventItem.Start.Date;
}
dt.Rows.Add(string.Format(when + " - " + eventItem.End.DateTime + "<br /><strong>" + "Event Title:" + " " + eventItem.Summary + "</strong>" + "<br /><strong>Event:</strong><br />" + eventItem.Description + "<hr/>"));
}
rptCalEvents.DataSource = dt;
rptCalEvents.DataBind();
}
else
{
lblTesting.Visible = true;
lblTesting.Text = "<strong>" + "No Upcoming Events for Today!!!" + "</strong>";
}
}
Wo ist der Titel Ihrer Veranstaltung ? Ist es in einem Etikett? Wenn es nur ein Handle des Labels bekommt und seine Farbe ändert: 'Label t = (Label) e.Row.FindControl (" lblTitle "); t.ForeColor = Color.Red' – JonH
Es ist in einem Daten Repeater <% # Eval ("Zusammenfassung")%> auf der Aspx-Seite und auf der aspx.cs ist es hier dt.Rows.Add (string.Format (** Event Title: **); – skaur
Richtig, aber Sie sollten es an etwas wie eine Beschriftung binden, dadurch können Sie Ereignisse wie ItemCommand, etc. nutzen. In Ihrem Fall haben Sie 'lblItemTemplate' nur diese Beschriftung erfassen und die Hintergrund- oder Vordergrundfarbe – JonH