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

时间:2015-07-16 18:53:24

标签: javascript asp.net

我正在修改加载用户控件的ASP.NET webform。在用户控件中,存在生成错误的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错误,并且这些函数在运行时确实存在。

2 个答案:

答案 0 :(得分:0)

[评论(因为我没有权限发表评论)]: - 请确保在您在页面中调用GetFirstItineraryObjects()函数之前先加载它的定义。

答案 1 :(得分:0)

可能缺少javascript部分here's example附近的<script></script>标记。