我的asp:Calendar
网络表单应用程序中有一个。当用户将鼠标悬停在日历上时,我想在部分类中调用一个方法。onmouseover
我可以通过在日历事件中添加以下行来更改日期的颜色,DayRender
如下所示。
e.Cell.Attributes["onmouseover"] = "this.style.backgroundColor='pink';";
但是我如何在部分类中调用方法onmouseover
?
我已经尝试如下。但它不起作用。
在我的 aspx 页面中
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
<script type="text/javascript">
function SelectDates() {
PageMethods.selectAvlDates();
}
</script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true">
</asp:ScriptManager>
<asp:Calendar ID="Vehicle_Calendar" runat="server" BackColor="#4b6c9e"
Font-Names="Verdana" Font-Size="9pt" ForeColor="Black" Height="250px" NextPrevFormat="ShortMonth"
OnPreRender="Vehicle_Calendar_PreRender" Width="330px" OnSelectionChanged="Vehicle_Calendar_SelectionChanged"
CellSpacing="1" DayHeaderStyle-BackColor="#ffffff" OnDayRender="Vehicle_Calendar_DayRender">
<DayHeaderStyle Font-Bold="True" Font-Size="8pt" ForeColor="#333333" Height="8pt" />
<DayStyle BackColor="#CCCCCC" />
<NextPrevStyle Font-Bold="True" Font-Size="8pt" ForeColor="White" />
<OtherMonthDayStyle ForeColor="#999999" />
<TitleStyle BackColor="#4b6c9e" Font-Bold="True" Font-Size="12pt" ForeColor="White"
Height="12pt" />
<SelectedDayStyle BackColor="#4b6c9e" ForeColor="White" />
<TodayDayStyle BackColor="#999999" ForeColor="White" />
</asp:Calendar>
<asp:Label ID="lblResult" runat="server"></asp:Label>
</asp:Content>
背后的代码
protected void Vehicle_Calendar_DayRender(object sender, DayRenderEventArgs e)
{
e.Cell.Attributes["onmouseover"] = "SelectDates()"; // called java script function from here
}
[System.Web.Services.WebMethod]
public void selectAvlDates()
{
lblResult.Text = "mouse over";
}
但是当我在日历上移动时,标签不会打印鼠标。
我怎样才能做到这一点 ?