Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在用户控件的页面加载中调用外部javascript方法_C#_Javascript_Jquery_Asp.net - Fatal编程技术网

C# 如何在用户控件的页面加载中调用外部javascript方法

C# 如何在用户控件的页面加载中调用外部javascript方法,c#,javascript,jquery,asp.net,C#,Javascript,Jquery,Asp.net,我有一个场景,在一个页面中有一个用户控件,该页面由核心asp.net逻辑、外部javascript和UI组成,页面只是这个用户控件的容器。 现在我需要通过调用外部javascript文件的javascript函数在用户控件的页面加载时注入javascript,但它不起作用。有什么帮助吗 在页面中加载 Page.ClientScript.RegisterStartupScript(this.GetType(), "scriptKey", "TC.Report.OnSelect

我有一个场景,在一个页面中有一个用户控件,该页面由核心asp.net逻辑、外部javascript和UI组成,页面只是这个用户控件的容器。 现在我需要通过调用外部javascript文件的javascript函数在用户控件的页面加载时注入javascript,但它不起作用。有什么帮助吗

在页面中加载

      Page.ClientScript.RegisterStartupScript(this.GetType(), "scriptKey",      "TC.Report.OnSelectedReportChange('" + noParameterReports + "');");

        ddlReport.Attributes.Add("onChange", "return  TC.Report.OnSelectedReportChange('" + noParameterReports + "');");
在外部javascript中

      OnSelectedReportChange: function (noParameterReports) {
            var noParameterReport = noParameterReports.split("|");
            var enableParameters = "true";
            var pageName = TC.Report.getPageName(window.location.href);
            for (i = 0; i < noParameterReport.length; i++) {
                if ($("select[id$=ddlReport]").val() == noParameterReport[i]) {
                    if (pageName == "AGIReports") {
                        $('.officeTextBox').children().attr('disabled', true);
                        $('.dropDownTEMethod').children().attr('disabled', true);
                    } else {
                        $("select[id$=ddlOpCo]").disabled = true;
                        $("select[id$=ddlWeekEndingDate]").disabled = true;
                    }

                    enableParameters = "false";
                }
            }
            if (enableParameters == "true") {
                if (pageName == "AGIReports") {
                    $('.officeTextBox').children().attr('disabled', false);
                    $('.dropDownTEMethod').children().attr('disabled', false);
                } else {
                    $("select[id$=ddlOpCo]").disabled = false;
                    $("select[id$=ddlWeekEndingDate]").disabled = false;
                }

            }
        }
我对此有一些观察。首先,在加载用户控件之前首先执行registerstartup脚本,因此它抛出一个错误TC未定义,这是正确的,因为外部java脚本仅在用户控件中引用,但我从用户控件的页面加载调用此方法


第二,在页面中添加了javascript文件引用之后,我尝试在prerender事件中添加register startup脚本,但在javascript方法中报告对象引用时,它会说object require..page render保证控件已加载且可用

将javascript代码加载到jQuerydocument.ready如何在客户端,是否有一种方法可以使用regitster启动脚本从代码隐藏中传递参数值。我猜ready方法将在将值分配给我的参数之前执行,并且将为null。我正在页面加载中设置此参数,需要将其传递给外部javascript函数no。。document.ready将在所有页面HTML加载到浏览器后发生,您可以将asp:hidden字段中的codebehind中的值传递给javascriptOK我会尝试一下,谢谢您还可以设置元素上的数据属性以将值传递给js