【问题标题】:Calling external Javascript function from ASP Code behind从后面的 ASP 代码调用外部 Javascript 函数
【发布时间】:2013-07-16 18:41:50
【问题描述】:

我的 C# 中有一段代码在单击按钮时执行,如下所示:

protected void LoadButton(object sender, EventArgs e)
{
    LoadDoc();
    ReadXML();

    ScriptManager.RegisterClientScriptBlock(loadXML, this.GetType(), "FormMath", "FirstCalculation();", true);
}

在最后一行中,我想调用一个名为“FirstCalculation”的 JS 函数。问题是 FirstCalculation 不存在于 default.aspx 文件中,而是存在于我们将调用 external.js 的外部 js 文件中。我不能(不应该)将 FirstCalculation 从 external.js 移开,但我仍然需要在单击此按钮时调用它。当然,我还需要能够调用一些 ASP。

最终目标是我能够在单击按钮时按顺序调用 ASP 函数和 Javascript 函数。

另外值得注意的是,我不知道 RegisterClientScriptBlock 调用中的第三个参数应该是什么。我从不同的资源中复制了它,所以如果需要特定的东西,那可能是值得一看的东西。

编辑:我遇到的许多其他示例似乎都引用了 default.aspx 页面中的代码,这就是我挂断的地方,因为它不在同一个文件中。

【问题讨论】:

    标签: javascript asp.net events


    【解决方案1】:

    而不是使用RegisterClientScriptBlock 使用RegisterStartupScript

    这将确保您注入的 javascript 将出现在页面底部 - 因此它将位于您的 .js 文件之后。那么应该可以正常工作..

    查看这里了解更多信息:RegisterStartupScript On MSDN

    另外 - 第三个参数 (true) 告诉您的代码在您注入的任何 javascript 中包含 <script> 标记;也就是说,RegisterClientScriptBock & RegisterStartupScript 会先注入<script> 标签,然后将你的字符串放在它们中间。在您的情况下,您需要将其设为 true。如果您正在注入 "<script>FirstCalculation();</script>"

    ,则将其设置为 false

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多