繁体   English   中英

如何从JavaScript调用服务器端函数?

[英]How do I call a serverside function from javascript?

我在尝试从服务器端调用WebSchedule.Client.RadGrid1_SelectedIndexChanged地方有一个javascript函数。 这是代码:

<script type="text/javascript">

     function RowSelected(sender, args) 
     {
         var dataKeyValue = args.getDataKeyValue("Order_No");
         document.getElementById("txtOrderno").value = dataKeyValue;
         WebSchedule.Client.RadGrid1_SelectedIndexChanged(sender, args);
     }
 </script>

但是,出现错误“ WebSchedule未定义”。 我究竟做错了什么?

查看所谓的分页方法

顺便说一句,这应该是服务器端方法还是客户端端?

function RowSelected(sender, args) { 
    var dataKeyValue = args.getDataKeyValue("Order_No");      
    document.getElementById("txtOrderno").value = dataKeyValue;
    WebSchedule.Client.RadGrid1_SelectedIndexChanged(sender, args); 
} 

所以-在我看来,这是一个javascript函数。

据我了解,RadScriptManager继承自System.Web.UI.ScriptManager。 这是EnablePageMethods属性的作用:“获取或设置一个值,该值指示是否可以从客户端脚本调用ASP.NET页中的公共静态页方法。”

这些粗体字意味着-您不会在服务器端方法中看到任何缺少视图状态的控件。

因此-考虑使用“更新面板”控件(我不知道它如何与telerik控件一起使用)或确保您的服务器端方法是完全无状态的(通过javascript函数传递所需的数据)。

无论如何-在我看来,您应该更仔细地研究页面方法的性质。

客户端= / =服务器

查看异步Javascript和XML。

您的服务器端页面方法必须具有WebMethod属性,并且必须声明为public static。

然后可以使用javascript使用以下语法来调用它们:PageMethods.MethodName()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM