如题,不知道大家使用ASP.NET进行网站开发的时候遇没遇到过这个错误的黄页。

“没有可访问的表。请确保在 Global.asax 中注册了至少一个数据模型并启用了基架,或者实现自定义页面。”


今天改着改着代码就出现了这个问题,经过查找,最终发现原因如下:

摘要一部分代码

.....

.....

当我点击标签时就会报上面的错误。

原因是标签有runat="server"属性,同时href="#"这就造成了这个问题的出现。

解决办法:

1、把runat="server"去掉。(推荐)

2、把href 属性加上合法的url。(推荐)

3、在Global.asax文件中“重要: 数据模型注册 ”处有这样一行代码

//DefaultModel.RegisterContext(typeof(YourDataContextType), new ContextConfiguration() { ScaffoldAllTables = false });

把这行代码解注,把YourDataContextType换成你自己项目的数据上下文类,同时把ScaffoldAllTables变成true 。当然,这个方法只是解决不出黄页的问题,但是你的功能问题应该没法解决。


下面说一下为什么我会写出

XXX项

这么怪异的代码,因为我的项目用的是母版页形式,之前在href里是导向各个内容页的url,我最开始写的是相对路径,但是当把项目放到服务器上运行的时候,就必须用绝对路径(这种形式:~/XXX/XXX.aspx)。但是这个时候就必须得加上runat="server"属性了,后来我又是因为想给导航加效果,因为导向内容页的时候会刷新整个页面,所以效果也就看不到了,最后就对内容页的