我的网络表单应用程序中有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";
}
但是当我在日历上移动时,标签不会将鼠标悬停在上。
我该怎么做?