我的Javascript函数调用服务器端回调函数。 当我发出alert()时,这工作正常。如果我评论alert(),则浏览器会发出警告..
我的功能是
function callMe(){
var input = 'input parameter list';
var val= <%=gridCtrlUsers.ClientID%>.callbackControl.Callback(input);
// If I comment this alert ,it would throw a browser warning.
alert(val) // This prints true or false
}
有人可以帮助我吗?
答案 0 :(得分:2)
我同意何塞这看起来并不标准。
如果它是一个具有客户端API的自定义控件,那么您是否尝试过键入其标识符而不是使用<% %>
标记...
您曾经提到过您使用的第三方工具包,但我知道DevExpress的组件(例如网格)具有允许您设置客户端实例名称的属性。您可以通过执行类似gridClientName.PerformCallback()
的操作来获取网格然后从客户端代码回调。
如果是您正在使用的ComponentArt网格,那么我认为您可以使用ClientObjectId
属性设置网格客户端名称,然后在Javascript中使用gridClientName.callback()
。
如果您只想从Javascript代码调用ASP.NET函数,则可以使用ASP.NET脚本管理器AJAX控件。我将在下面给你一个例子......
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="True">
</asp:ScriptManager>
<script runat="server">
[System.Web.Services.WebMethod]
public static String Msg()
{
String userName = "Chalkey";
return userName;
}
</script>
<script type="text/javascript">
PageMethods.Msg(OnSucceed);
function OnSucceed(result)
{
alert(result);
}
</script>
希望其中一些有用!的:)强>