提示错误“没有可访问的表。请确保在 Global.asax 中注册了至少一个数据模型.. ”解决方法

发布时间:2020-07-06 12:32:56 作者:我不会抽烟
来源:网络 阅读:1346

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

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


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

摘要一部分代码

.....
<li class="menu">
   <ul>
      <li id="li1">
          <a id="A1" runat="Server" href="#">XXX项</a>
      </li>
      <li>
          <ul>
             <li id="li2" ><a id="A2" runat="Server" href="#">XXX子项</a></li>
          </ul>
      </li>
    </ul>
</li>
.....

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

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

解决办法:

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

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

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

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

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


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

<a id="A1" runat="Server" href="#">XXX项</a>

这么怪异的代码,因为我的项目用的是母版页形式,之前在href里是导向各个内容页的url,我最开始写的是相对路径,但是当把项目放到服务器上运行的时候,就必须用绝对路径(这种形式:~/XXX/XXX.aspx)。但是这个时候就必须得加上runat="server"属性了,后来我又是因为想给导航加效果,因为导向内容页的时候会刷新整个页面,所以效果也就看不到了,最后就对内容页的<div>使用了ajax 达到了想要的效果。因为<a>标签比较多,所以当时忘记去掉了一个runat="server"属性,然后就发现了这个黄页错误。


推荐阅读:
  1. RedHat使用yum命令时提示not registered错误的解决方法
  2. 在Webforms下搭建WebAPI的方法

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

server 标签 模型

上一篇:核心动画的接触点滴(一)

下一篇:你可能不知道的JavaScript代码片段和技巧(上)

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》