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