当前位置: 代码迷 >> JavaScript >> 是什么原因导致此JavaScript错误?
  详细解决方案

是什么原因导致此JavaScript错误?

热度:39   发布时间:2023-06-12 13:45:05.0

我正在修改加载用户控件的ASP.NET网络表单。 在用户控件中,有JavaScript生成错误。 错误是:

JavaScript运行时错误:属性'GetFirstItineraryObjects'的值为null或未定义,不是Function对象

这是函数调用列表中的一个调用,其中包含:

GetFirstItineraryObjects();

是的,当我检查页面源渲染时(在跳过JS错误之后),此功能确实存在。 我确实想知道我修改的此函数中的一行是否可能导致此问题,因此我将其注释掉。 但是错误仍然发生。

什么会导致这种性质的JavaScript运行时错误?

我认为这不会有多大帮助,但这是添加JavaScript的代码。 请注意,在浏览器可以执行该页面中的任何JavaScript之前,整个页面都已呈现并发送到浏览器(这适用于@Arwind)。

clientScriptKey = "SetOriginalMileageObjectValues";
clientScriptText = string.Empty;

if (!clientScript.IsClientScriptBlockRegistered(clientScriptType, clientScriptKey))
{
    clientScriptText = "function GetFirstItineraryObjects()" + Environment.NewLine;
    clientScriptText += "            {" + Environment.NewLine;
    // a bunch of code
    clientScriptText += "            }" + Environment.NewLine + Environment.NewLine;
    clientScript.RegisterClientScriptBlock(clientScriptType, clientScriptKey, clientScriptText, true);
}

clientScriptKey = "CreateMileageDataOldValues";
clientScriptText = string.Empty;

if (!clientScript.IsClientScriptBlockRegistered(clientScriptType, clientScriptKey))
{
    clientScriptText = "GetFirstItineraryObjects();" + Environment.NewLine;
    clientScriptText += "GetFromLocationOldValues();" + Environment.NewLine;
    clientScriptText += "GetToLocationOldValues();" + Environment.NewLine;
    clientScriptText += "GetStartDateOldValues();" + Environment.NewLine;
    clientScript.RegisterStartupScript(clientScriptType, clientScriptKey, clientScriptText, true);
}

经过进一步检查,所有这四个函数调用(不仅是GetFirstItineraryObjects)都会引发相同的JavaScript错误,并且这些函数在运行时确实存在。

[ 评论 (由于我没有发表评论的权限)]:-请确保在页面中调用GetFirstItineraryObjects()函数的定义之前先对其进行加载。

以下是javascript部分周围可能缺少<script></script>标签 。

  相关解决方案