从ASP代码调用外部Javascript函数

时间:2013-07-16 18:41:51

标签: javascript asp.net events

我的C#中有一段代码,按下按钮就会执行:

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

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

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

最终目标是,我可以在按钮点击时按顺序调用ASP函数和Javascript函数。

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

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

1 个答案:

答案 0 :(得分:2)

而不是使用RegisterClientScriptBlock使用RegisterStartupScript

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

有关详细信息,请参阅此处:RegisterStartupScript On MSDN

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

,则将其设置为false