溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

提示錯(cuò)誤“沒(méi)有可訪問(wèn)的表。請(qǐng)確保在 Global.asax 中注冊(cè)了至少一個(gè)數(shù)據(jù)模型.. ”解決方法

發(fā)布時(shí)間:2020-07-06 12:32:56 來(lái)源:網(wǎng)絡(luò) 閱讀:1346 作者:我不會(huì)抽煙 欄目:編程語(yǔ)言

如題,不知道大家使用ASP.NET進(jìn)行網(wǎng)站開(kāi)發(fā)的時(shí)候遇沒(méi)遇到過(guò)這個(gè)錯(cuò)誤的黃頁(yè)。

“沒(méi)有可訪問(wèn)的表。請(qǐng)確保在 Global.asax 中注冊(cè)了至少一個(gè)數(shù)據(jù)模型并啟用了基架,或者實(shí)現(xiàn)自定義頁(yè)面?!?/p>


今天改著改著代碼就出現(xiàn)了這個(gè)問(wèn)題,經(jīng)過(guò)查找,最終發(fā)現(xiàn)原因如下:

摘要一部分代碼

.....
<li class="menu">
   <ul>
      <li id="li1">
          <a id="A1" runat="Server" href="#">XXX項(xiàng)</a>
      </li>
      <li>
          <ul>
             <li id="li2" ><a id="A2" runat="Server" href="#">XXX子項(xiàng)</a></li>
          </ul>
      </li>
    </ul>
</li>
.....

當(dāng)我點(diǎn)擊<a>標(biāo)簽時(shí)就會(huì)報(bào)上面的錯(cuò)誤。

原因是<a>標(biāo)簽有runat="server"屬性,同時(shí)href="#"這就造成了這個(gè)問(wèn)題的出現(xiàn)。

解決辦法:

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

2、把href 屬性加上合法的url。(推薦)

3、在Global.asax文件中“重要: 數(shù)據(jù)模型注冊(cè) ”處有這樣一行代碼

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

把這行代碼解注,把YourDataContextType換成你自己項(xiàng)目的數(shù)據(jù)上下文類(lèi),同時(shí)把ScaffoldAllTables變成true 。當(dāng)然,這個(gè)方法只是解決不出黃頁(yè)的問(wèn)題,但是你的功能問(wèn)題應(yīng)該沒(méi)法解決。


下面說(shuō)一下為什么我會(huì)寫(xiě)出

<a id="A1" runat="Server" href="#">XXX項(xiàng)</a>

這么怪異的代碼,因?yàn)槲业捻?xiàng)目用的是母版頁(yè)形式,之前在href里是導(dǎo)向各個(gè)內(nèi)容頁(yè)的url,我最開(kāi)始寫(xiě)的是相對(duì)路徑,但是當(dāng)把項(xiàng)目放到服務(wù)器上運(yùn)行的時(shí)候,就必須用絕對(duì)路徑(這種形式:~/XXX/XXX.aspx)。但是這個(gè)時(shí)候就必須得加上runat="server"屬性了,后來(lái)我又是因?yàn)橄虢o導(dǎo)航加效果,因?yàn)閷?dǎo)向內(nèi)容頁(yè)的時(shí)候會(huì)刷新整個(gè)頁(yè)面,所以效果也就看不到了,最后就對(duì)內(nèi)容頁(yè)的<div>使用了ajax 達(dá)到了想要的效果。因?yàn)?lt;a>標(biāo)簽比較多,所以當(dāng)時(shí)忘記去掉了一個(gè)runat="server"屬性,然后就發(fā)現(xiàn)了這個(gè)黃頁(yè)錯(cuò)誤。


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI