调用服务器端方法的Javascript函数不起作用

Javascript function to call server side method is not working

本文关键字:函数 不起作用 Javascript 服务器端 方法 调用      更新时间:2023-09-26

我试图通过javascript函数在ascx页面中调用服务器端方法。该方法适用于aspx页面。它似乎没有调用javascript函数,但隐藏按钮调用服务器端方法。

<div runat="server">
<script type="text/javascript">
     function WebDatePicker_DayChange(sender, eventArgs)
     {
        document.getElementById("HiddenField3").value = eventArgs.get_value();
        var btn = document.getElementById("Button2");
        btn.click();
    }
 </script></div>

<ig:WebDatePicker runat="server" ID="WebDatePicker1" DropDownCalendarID="webMonthCalendar" DisplayModeFormat="MM/dd/yyyy" EditModeFormat="MM/dd/yyyy" EditMode="CalendarOnly" Nullable="False" AlwaysInEditMode="False" HorizontalAlign ="Center" >                
                    <ClientSideEvents  ValueChanged="WebDatePicker_DayChange" ></ClientSideEvents>             
                </ig:WebDatePicker>
                 <ig:WebMonthCalendar runat="server" ID="webMonthCalendar" Culture="en-us" FooterContent="Today: {0:d}"
                    EnableWeekNumbers="false"
                    ChangeMonthToDateClicked="true" 
                    EnableMonthDropDown="True"  
                    EnableYearDropDown="True">
                </ig:WebMonthCalendar>     
                <input type="button" id="Button2" style="display:none" runat="server"  onserverclick="WebDatePicker_DayChange" />
                <asp:HiddenField ID="HiddenField3" runat="server" Value=""  />

要触发该方法,您需要运行以下JavaScript代码:

__doPostBack('Button2','')

用上面的代码替换btn.click();

那是一个Asp。网络生成方法[docs]