从文件后面的 ascx 代码调用 Aspx javascript 函数

Posted

技术标签:

【中文标题】从文件后面的 ascx 代码调用 Aspx javascript 函数【英文标题】:Call Aspx java script function from ascx code behind file 【发布时间】:2017-02-05 18:09:46 【问题描述】:

我在 aspx 页面中有一个 javascript 函数,这个 aspx 页面中有几个 ascx 控件。

我需要从文件后面的 ascx 控制代码之一调用该 JavaScript 函数。我尝试了以下方法,但没有按预期工作。请有任何建议。

在 aspx 页面中:

<script type="text/javascript">
    function Disable() 
    
        // some code
        // return;
    

在文件后面的 ascx 代码中:

ScriptManager.RegisterClientScriptBlock(Me.Page, Me.GetType(), "Script", "Disable();", True)

有人可以告诉我如何解决这个问题吗?

【问题讨论】:

【参考方案1】:

尝试RegisterStartupScript 而不是RegisterClientScriptBlock

ScriptManager.RegisterStartupScript(Page, GetType(), "Script", "Disable();", true);

RegisterClientScriptBlock 将 javascript 内容写入 html 页面内容的顶部,而 RegisterStartupScript 将内容写入底部。 您的内联函数“Disable()”可能位于调用它的代码下方,因此在触发时找不到它。

【讨论】:

以上是关于从文件后面的 ascx 代码调用 Aspx javascript 函数的主要内容,如果未能解决你的问题,请参考以下文章

如何在 UserControl (.ascx) 中调用 ASP.NET WebMethod

构建时验证所有 ASPX、ASCX 和 HTML 文件

如何将数据从 aspx 页面传递到 ascx 模式弹出窗口?

ASP NET 如何将事件从 ASPX 发送到 ASCX

如何从 aspx 中的 Gridview 行中检索主键以在 userControl.ascx 中使用?

如何从 .aspx 页面 javascript 调用 C# 方法后面的 Web 窗体代码