在ASP.Net C#中使用JavaScript调用服务器端方法

时间:2013-06-27 10:37:21

标签: c# javascript asp.net calendar scriptmanager

我的网络表单应用程序中有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";
}

但是当我在日历上移动时,标签不会将鼠标悬停在上。

我该怎么做?

0 个答案:

没有答案