使用母版页时,ClientScript.RegisterClientScriptBlock()生成错误

时间:2011-08-25 06:50:42

标签: asp.net

我有一个与母版页相关联的aspx页面。在aspx.cs文件中,我尝试使用以下代码调用JavaScript函数

//Code behind (aspx.cs)

ClientScript.RegisterClientScriptBlock(Page.GetType(), "javascript", "GetCmpValue()", true);

//aspx page 
<%@ Page Language="C#" MasterPageFile="~/mlayout.Master" AutoEventWireup="true"          CodeBehind="MResults.aspx.cs" Inherits="Predict.MResults" Title="Untitled Page" %>
 //javascript function
 <script type="text/javascript" language="javascript">
   function GetCmpValue()
   {
     var CmpId=$find('bidLoc');
   } 


</script> 

我在IE浏览器页面运行时收到错误Microsoft jscript运行时错误对象预期问题,但在Firefox和chrome中你没有找到错误信息,但仍然存在调用JavaScript函数的问题。任何人都可以帮我解决这个问题。

2 个答案:

答案 0 :(得分:1)

假设您的网页位于根目录的子文件夹中,此功能适用于根目录中的网页。

将{jQuery ScriptReference的路径添加到ScriptManager/ToolkitScriptManager

例如:

<asp:ScriptManager ID="ScriptManager1" runat="server">
    <Scripts>
       <asp:ScriptReference Path="~/jQuery/js/jquery-1.5.1.min.js" />
       <asp:ScriptReference Path="~/jQuery/js/jquery-ui-1.8.10.custom.min.js" />
    </Scripts>
</asp:ScriptManager>

在这里,您可以使用Tilde(〜)来解析脚本的正确路径(从根目录开始)。

答案 1 :(得分:0)

请尝试使用以下脚本。这可能有所帮助。

ScriptManager.RegisterStartupScript(Page, typeof(Page), "closePopup", "alert('close');", true);

谢谢。