看了N多.NET三層的資料,可是自己還沒有真的試過用三層來做個小項目,今天終于下決心,用三層做個新聞發(fā)布系統(tǒng),很簡單,對數(shù)據(jù)庫的增刪查改而已。。。
沒想到在剛剛開始的時候就碰到了麻煩,在解決方案里添加新建項目DAL后如何在DAL中的類中讀取到web.config里的數(shù)據(jù)庫連接字符串。。。。
經(jīng)本人多方查證和搜索,終于解決,現(xiàn)在方法記下:
新建項目,如圖:
文件→添加→新建項目,如圖:
選擇C#的內(nèi)褲,保存位置最好是在WEB項目所有的目錄,如圖:
這時解決方案管理器如圖,可以把默認(rèn)的類名改一下:
前戲準(zhǔn)備完了之后,我們就開始在web.config里寫上數(shù)據(jù)庫連接字符串了,下面是我的web.config的代碼片段:
我們要從DAL層中讀取到web.config中的信息,得使用System.Web下的***類,可是在我們在類開關(guān)輸入using System.Web.發(fā)現(xiàn)后面的代碼自動提示點不出來,大家可以看一下解決方案管理器中DAL層的引用:
,發(fā)現(xiàn)并沒有System.Web,所以之前我們的代碼自動提示就出不來,接下來我們只要引出System.Web就行了,此外,經(jīng)測試,還得引入System.Configuration才能讀取到web.config中的信息,如圖添加引用:
添加成功后解決方案管理器如圖:
這時我們就可以使用代碼智能提示引用System.Web.Configuration了,然后我們就能開始獲取web.config中的內(nèi)容了,下面是我寫的SQLHelper.cs的代碼:
緊接著我們就在頁面上先測試一下是否成功的獲取出來,同樣的,在WEB項目中要使用DAL層里的東西,因為屬于不同的二個項目,所以也得引用DAL,如圖:
引用后發(fā)現(xiàn)解決方案管理器里沒啥變化,的確是沒啥變化,可是的確是已經(jīng)引用了DAL層了,這時就可以寫代碼了,以下是我的default.aspx.cs的源碼,在這里只是測試一下能不能獲取出來,頁面上什么都沒放:
最后預(yù)覽頁面,即可看到讀取出來了。。。。
沒想到在剛剛開始的時候就碰到了麻煩,在解決方案里添加新建項目DAL后如何在DAL中的類中讀取到web.config里的數(shù)據(jù)庫連接字符串。。。。
經(jīng)本人多方查證和搜索,終于解決,現(xiàn)在方法記下:
新建項目,如圖:
文件→添加→新建項目,如圖:
選擇C#的內(nèi)褲,保存位置最好是在WEB項目所有的目錄,如圖:
這時解決方案管理器如圖,可以把默認(rèn)的類名改一下:
前戲準(zhǔn)備完了之后,我們就開始在web.config里寫上數(shù)據(jù)庫連接字符串了,下面是我的web.config的代碼片段:
<connectionStrings> <add name="connStr" connectionString="server=niunan\sqlexpress; database=newssystem; uid=sa; pwd=123456"/> </connectionStrings>
我們要從DAL層中讀取到web.config中的信息,得使用System.Web下的***類,可是在我們在類開關(guān)輸入using System.Web.發(fā)現(xiàn)后面的代碼自動提示點不出來,大家可以看一下解決方案管理器中DAL層的引用:
,發(fā)現(xiàn)并沒有System.Web,所以之前我們的代碼自動提示就出不來,接下來我們只要引出System.Web就行了,此外,經(jīng)測試,還得引入System.Configuration才能讀取到web.config中的信息,如圖添加引用:
添加成功后解決方案管理器如圖:
這時我們就可以使用代碼智能提示引用System.Web.Configuration了,然后我們就能開始獲取web.config中的內(nèi)容了,下面是我寫的SQLHelper.cs的代碼:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Web.Configuration; // 要引用這個命名空間 namespace DAL { public class SQLHelper { /// <summary> /// 測試方法,獲取數(shù)據(jù)庫連接字符串 /// </summary> /// <returns></returns> public static string getConnStr() { return WebConfigurationManager.ConnectionStrings["connStr"].ToString(); } } }
緊接著我們就在頁面上先測試一下是否成功的獲取出來,同樣的,在WEB項目中要使用DAL層里的東西,因為屬于不同的二個項目,所以也得引用DAL,如圖:
引用后發(fā)現(xiàn)解決方案管理器里沒啥變化,的確是沒啥變化,可是的確是已經(jīng)引用了DAL層了,這時就可以寫代碼了,以下是我的default.aspx.cs的源碼,在這里只是測試一下能不能獲取出來,頁面上什么都沒放:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using DAL; // 引用DAL層,注意大小寫,要與那邊建立的內(nèi)褲名稱相對應(yīng) public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { // 在那邊我是使用了static靜態(tài)方法,所以可以直接通過類名點出他的方法 Response.Write(DAL.SQLHelper.getConnStr()); } }
最后預(yù)覽頁面,即可看到讀取出來了。。。。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
