方法一:
我在工作中,将Micro的Ajax插件安装后,将ScriptManager,UpdatePanel控件拖入页面后,就会出现 “ScriptManager”不是已知元素。原因可能是网站中存在编译错误。错误提示,可是还是可以生成成功,这个问题,困惑我很长时间,终于今天在Google上,慢慢的找到了解决的方法。
由于我用的是母板页,因此,只需在母板页的HTML代码页面添加如下即可:<%@ Assembly Name="System.Web.Extensions" %>即可,也就是将Ajax的编译信息添加到页面。如果你没有用母板页,我想,应该是在代码页面上添加此代码,就可以解决问题了。
方法二:
最近老是碰到“ScriptManager”不是已知元素。原因可能是网站中存在编译错误的问题。。
这个问题还是蛮严重的:1. 一旦在视图中编辑,回来看代码就会被气死,排版全没了,代码一塌糊涂。
2. 不能智能显示相关标签了
我估计是自己使用了MasrterPage的问题。网上看到有朋友采用编辑主表和加入<@ Assembly Name="System.Web.Extensions" %>的方法,我试了试,不是很理想,可能暂时解决问题,但是一旦重新打开,问题同样还在。
难道没有别的方法了吗?突然想到为什么自己以前没碰到相关的问题呢?原来当时是采用了嵌套母版页,而为了在视图中进行编辑,利用.net 的BUG进行了一些处理。也许这个BUG在这里也有效?当即试了试,哈哈,问题解决!
在这里给大家推荐这个 BUG,实在是居家旅行,杀人放火一举两得的好 BUG:
<%@ Page Language="C#" MasterPageFile="MarsterPage.master " AutoEventWireup="true" CodeFile="default.aspx.cs" Inherits="" Title="" %>
大家看了也许会说,这个怎么叫BUG呢?秘密就在下划线显示的地方,在MarsterPage.master 后和引号之前,我加了一个小小的空格,而正是这个空格起到了决定性作用,不仅解决了嵌套母版页无法在视图中编辑的问题,也一举解决了“ScriptManager”不是已知元素的问题。
当然网页错误提示找不到ContentPlaceHolder1的错误。不过这个提示重要吗?不重要吗?到底重要吗?