gpt4 book ai didi

asp.net - 在 asp.net 中使用代码隐藏函数执行客户端 javascript 函数

转载 作者:行者123 更新时间:2023-11-30 13:41:40 24 4
gpt4 key购买 nike

我一直在 ASP.NET 2.0 项目中使用 Anthem.NET 进行一些辅助项目,并且有一个关于该框架独有的巧妙功能的问题。我使用过 Telerik 和 Microsoft ASP.NET AJAX Frameworks,并且能够从页面隐藏代码(服务器端)接缝中的“ajaxified”控件中执行 JavaScript 函数。

国歌示例可以在这里找到: http://anthem.talloaksoftware.com/InvokeClientSideFunctionAfterCallBack.aspx?1

本质上,您使用 Ajax 更新面板(在 Anthem 框架中)包装一个文本框和一个按钮,然后在代码隐藏(或内联代码)页面中,您可以在回调完成后执行一个 javascript 函数。但是,您的服务器端代码实际上指定了将运行的 javascript 代码。

例子:单击按钮时执行以下代码,在向服务器执行 ajax 请求后,执行服务器端指定的 JavaScript 函数。

Anthem.Manager.AddScriptForClientSideEval("ClientSideFunction();");

因此,只要 JavaScript 函数“ClientSideFunction()”存在,它就会在回调完成后执行。我可以立即看到包含 jQuery 和利用此功能将如何形成一个非常有趣的组合。代码仍然可以用传统的回发模型编写,但可以在服务器端代码执行后调用 JavaScript 代码。这将允许服务器端代码使用 jQuery 内置函数“动画化”HTML 对象。

我的问题是,如何使用 .NET Framework 3.5 中内置的 ASP.NET AJAX 3.5 复制此行为?它能否像 Anthem.NET 框架提供的那样轻松复制?

Anthem 不再是一个活跃的项目(在 sourcefourge 上),所以我觉得使用受支持和流行的 ASP.NET AJAX 框架(尤其是 4.0 即将到来)构建新项目是明智的,所以我正在寻找等效的解决方案.

最佳答案

非常简单,您需要在页面上有一个 ScriptManager 然后在服务器端,当更新面板更新时(在方法 .Update() 之前)只需使用:

ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "uniqueJSBlockName", "ClientSideFunction();", true);

会执行调用ClientSideFunction()的函数,你可以持有页面上已经注册的必要的js函数。

关于asp.net - 在 asp.net 中使用代码隐藏函数执行客户端 javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2002385/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com