为什么不';t调用JavaScript函数

本文关键字:调用 JavaScript 函数 为什么不 | 更新日期: 2023-09-27 17:59:19

我正试图从asp.net代码背后调用我的JS函数,但它不起作用。

 protected void btnSavePrint_Click(object sender, EventArgs e) { 
    try
    {
        //int FormTesting;
        Page.ClientScript.RegisterStartupScript(
        GetType(),
        "MyKey",
        "myFunction();",
        true);
        TestFormNo = ClsTender.InsertAppliedWorks(NitNo, WorkNo, out formno, ContractorID, 
                     Cost.ToDecimal(), bp.LoginMainOfficeID, bp.LoginOrganizationID);
    }

以及我在.aspx 中的jsb函数

<script>
        function myFunction() {
            window.print();
        }
</script>

为什么不';t调用JavaScript函数

您在单击按钮时注册javascript调用,该调用将在下次加载时调用。而不是在btnSavePrint_Click代码隐藏事件中注册对myFunction()的调用。在Page_Load中的btnSavePrint中绑定上的事件。还要确保myFunction的定义存在。

protected void Page_Load(object sender, EventArgs e)
{
    btnSavePrint.Attributes.Add("onclick", "myFunction();");
}

试试这个。看看它是否有效。您可能需要导入System.Web.UI.Control

ScriptManager.RegisterStartupScript(Me.Page, GetType(Page), UniqueID, "myFunction()", True)

但这段代码只会向浏览器注册JavaScript函数。由于JavaScript是客户端语言,它将使用此代码进行注册。同样,你必须用一些事件来调用这个函数,比如

 btnSavePrint.Attributes.Add("onclick", "myFunction();");

试试这个:

ScriptManager.RegisterStartupScript(this, GetType(), "YourTitle", 
        "myFunction();", true);