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

标签 javascript asp.net ascx

我正在尝试通过 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.Net生成的方法 [docs]

关于调用服务器端方法的 Javascript 函数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15746025/

相关文章:

javascript - appendChild() 不接受传递的字符串参数作为参数?

javascript - 从文本区域获取更新值并使用 jQuery 将其插入到 div 中?

c# - 错误页面上的 ASP.net 捕获错误

javascript - 简单的 Javascript 函数不适用于 .ascx 文件

javascript - Protractor:根据innerhtml获取元素

c# - 使用 LINQ 在 C# 中合并两个对象列表

c# - Asp.net Core,在Razor Page中设置多个选定值

jquery - 有什么方法可以缩小 ascx 以使其适合固定的 div 吗?

javascript - 您能从代码隐藏中确定 aspx 页面上是否存在 javascript 函数吗?

javascript - extjs中的反馈消息