从使用JavaScript的应用程序调用用户控件JavaScript函数

从使用JavaScript的应用程序调用用户控件JavaScript函数,javascript,asp.net,webusercontrol,Javascript,Asp.net,Webusercontrol,我有一个名为UserControl.ascx的Web用户控件,在该ascx页面中嵌入了一个JavaScript函数“GetValues()”来返回一些值。我已经将ascx页面编译成一个dll,并在另一个web应用程序中使用它。但现在的问题是,当我试图从web应用程序调用用户控件JavaScript函数时,显示“GetValues”的JS调试器未定义 错误。有没有办法解决这个问题 在ASCX文件中: <%@ Control Language="C#" AutoEventWireup="tru

我有一个名为UserControl.ascx的Web用户控件,在该ascx页面中嵌入了一个JavaScript函数“GetValues()”来返回一些值。我已经将ascx页面编译成一个dll,并在另一个web应用程序中使用它。但现在的问题是,当我试图从web应用程序调用用户控件JavaScript函数时,显示“GetValues”的JS调试器未定义 错误。有没有办法解决这个问题

在ASCX文件中:

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="ICEImage.ascx.cs" Inherits="ICEImage" %>
   <div>                 
         <asp:TextBox ID="txtValue" runat="server" BackColor="#FFFFC0" ReadOnly="True" Width="150px" 
   </div>
<script type="text/javascript">
function GetValue()
{
  return parseInt(document.getElementById('<%=txtValue.ClientID%>').value);
}
</script>


您可以像这样从服务器代码中定义函数,并将其添加到页面上,例如PreRender

if (!Page.ClientScript.IsClientScriptBlockRegistered("FunctionGetValue"))
        {
            string script = @"function GetValue() {
                   return parseInt(document.getElementById('"+txtValue.ClientID+"').value);
                   }";
            ScriptManager.RegisterClientScriptBlock(this.Page, this.Page.GetType(), "FunctionGetValue", script, true);

        }

不,我需要从web应用程序JavaScript块调用该函数。可能吗?你能多发一点代码吗?如何在网页中包含控件(从aspx注册derective或从代码注册LoadControl)?使用Register指令。%@Register TagPrefix=“ASP”Assembly=“App\u Web\u iceimage.ascx.cdcab7d2”Namespace=“ASP”%>但我的示例演示了如何在ascx控件中声明函数。您可以从web应用程序调用此函数并返回值,因为它将出现在页面上。使用ascx中的脚本块的原因是什么?
if (!Page.ClientScript.IsClientScriptBlockRegistered("FunctionGetValue"))
        {
            string script = @"function GetValue() {
                   return parseInt(document.getElementById('"+txtValue.ClientID+"').value);
                   }";
            ScriptManager.RegisterClientScriptBlock(this.Page, this.Page.GetType(), "FunctionGetValue", script, true);

        }