0

我的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";
}

但是当我在日历上移动时,标签不会打印鼠标。

我怎样才能做到这一点 ?

4

0 回答 0