我正在修改加载用户控件的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错误,并且这些函数在运行时确实存在。
答案 0 :(得分:0)
[评论(因为我没有权限发表评论)]: - 请确保在您在页面中调用GetFirstItineraryObjects()函数之前先加载它的定义。
答案 1 :(得分:0)
可能缺少javascript部分here's example附近的<script></script>
标记。