【问题标题】:Microsoft JScript runtime error: Unable to get value of the property 'style': object is null or undefinedMicrosoft JScript 运行时错误:无法获取属性“样式”的值:对象为空或未定义
【发布时间】:2012-09-02 07:41:18
【问题描述】:

这是我的代码行抛出错误

$get("Panel1").style.visibility= "visible";

此行在普通页面上运行良好。但每当在拥有母版页的子页面上使用它时,它都会抛出错误为“Microsoft JScript 运行时错误:无法获取属性'style'的值:对象为空或未定义”。我是 javascript 的优秀初学者。我在 Asp.Net 3.5 上使用它。以前任何人都知道这个问题。

【问题讨论】:

  • 你确定“Panel1”是元素的id吗?在没有修改的 File>New 项目中,将 Panel 放入子表单(我 认为 这就是您所描述的)将导致元素 id 为“MainContent_Panel1”,其中 ContentPlaceHolderId 被前置以排除命名冲突。尝试执行 View->Source 并查看 id 与生成的 div 相关联。
  • @jim-oneil:感谢您的回复。我检查了完全匹配的..
  • 但它不匹配 :) 正如您在关注 @Aristos 修复时发现的那样...我应该更明确/详细,但很高兴您能正常工作

标签: c# javascript asp.net


【解决方案1】:

您的问题可能是因为您不使用呈现的 id,如果您在 dipper 页面上使用相同的面板,就会发生变化。而且因为您没有使用正确的 id,$get() 部分返回 null or undefined。将您的代码更改为:

$get("<%=Panel1.ClientID%>").style.visibility= "visible";

并渲染 panel1 id,因为它最终会出现在 html 页面上。

您应该单独解决的问题:您可以在页面上从浏览器实用程序中查看“查看页面源”,并查看您的 html 结构中是否存在 Panel1 id,在那里您可以找到正确的 ID 和未找到的原因。所以这里的重点是我们查看 html 呈现的页面以找出脚本出了什么问题。

【讨论】:

  • 感谢 Aristos ...这是解决方法
猜你喜欢
  • 1970-01-01
  • 2013-07-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多