我能够使用API密钥成功从我的Google日历中提取活动。
的事件在我的网页上显示如下:
2016年5月31日上午9时00分○○秒 - 2016年5月31日12:00:00 PM
活动名称:员工会议
说明:每周员工会议
我想通过代码背后的代码将“Event Title”的颜色设置为红色。我试图在我的dt.Rows.Add中对其进行更改,但一直不成功。有没有办法让我在后面的代码中进行更改,以便只生成“事件标题:”?使用Google Calendar API v3和数据中继器更改Google日历活动的标题
ASPX代码
<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代码
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>";
}
}
哪里是你的事件的标题?它在标签内吗?如果只是获取标签的句柄并更改它的颜色:'Label t =(Label)e.Row.FindControl(“lblTitle”); t.ForeColor = Color.Red' – JonH
它在aspx页面和aspx.cs中的数据中继器<%#Eval(“Summary”)%>它在这里dt.Rows.Add(string.Format(**事件标题:**); – skaur
正确,但你应该将它绑定到类似标签的东西,通过这样做,你可以利用诸如ItemCommand等事件。在你的情况下,你有'lblItemTemplate'只是捕获该标签并设置背景或前景色 – JonH