asp.net網(wǎng)站開發(fā)包wq.dll打包下載
所有WQ對象,按照他們的功能進(jìn)行了分類,分別放在5個不同的名稱空間下:
using WQ.Data;//數(shù)據(jù)庫操作類
using WQ.Rewriter;//偽URL配置類
using WQ.Server;//服務(wù)器信息類(這個沒完成)
using WQ.Text;//字符串操作類(這是個靜態(tài)類,全是靜態(tài)方法)
using WQ.Web;//網(wǎng)頁常用類(目前只完成了圖片水印類)
壓縮包下載:wq.rar
先說一下一個最重要的AccessData類,使用時很簡單:
using WQ.Data;
public DataTable newsTable;
protected void Page_Load(object sender, EventArgs e)
{
AccessData mydata = new AccessData();
mydata.Open();
mydata.CommandText="select * from [news]";
newsTable=mydata.ExecuteDataTable();//返回一個DataTable;
mydata.Close();
}
在.aspx頁面顯示
<ul>
<%foreach(System.Data.DataRow r in newsTable.rows){%>
<li><a href="xxx.aspx?id=<%=r["ID"].ToString()%>"><%=r["title"].ToString()%></a></li>
<%}%>
</ul>
如果你想把數(shù)據(jù)在一個GridView中:
GridView1.DataSource=mydata.ExecuteDataTable();
GridView1.DataBind();
需要說明的是,上面我們沒有看到數(shù)據(jù)庫的驅(qū)動,因?yàn)轵?qū)動是在web.config配置文件中取的,所以在使用這個類時,請先配置。
<connectionStrings>
<add name="connstring" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|pub.mdb" providerName="System.Data.OleDb"/>
</connectionStrings>
如果你有多個Access數(shù)據(jù)庫,例:
<connectionStrings>
<add name="connstring" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|pub.mdb" providerName="System.Data.OleDb"/>
<add name="connmac" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|mac.mdb" providerName="System.Data.OleDb"/>
<add name="conncai" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|cai.mdb" providerName="System.Data.OleDb"/>
</connectionStrings>
配置的時候name不能相同,AccessData.Open()默認(rèn)打開的是name="connstring"這個數(shù)據(jù)庫,如果你想打開其它的數(shù)據(jù)庫(name="connmac"):
AccessData mydata = new AccessData();
mydata.WebConfigConnectionName="connmac";
mydata.Open();
....
mydata.Close();//關(guān)閉數(shù)據(jù)庫不要忘了
如果你沒有或者不想配置web.config,也可以直接把驅(qū)動寫進(jìn)構(gòu)造函數(shù):
string connstring="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("~/app_data/pub.mdb");
AccessData mydata = new AccessData(connstring);
mydata.Open();
....
mydata.Close();
如果你查詢的數(shù)據(jù)只有一條,可以直接返回一個ArrayList:
mydata.CommandText="select [Title],[Content],[DateTime] from [news] where ID=3";
ArrayList newsList=mydata.ExecuteArrayList();//返回一個ArrayList
在使用的時候,就可以直接使用這種輕最的數(shù)據(jù)了:
<div>
<div><label>新聞標(biāo)題:<%=newsList[0].ToString()%></label></div>
<div>新聞內(nèi)容:<%=newsList[1].ToString()%></div>
<div>發(fā)布日期:<%=newsList[2].ToString()%></div>
</div>
還有其它的方法,我這里就不一一舉例了:
mydata.ExecuteNonQuery();//執(zhí)行當(dāng)前SQL語句,并返回受影響的行數(shù)
mydata.ExecuteReader();//執(zhí)行當(dāng)行SQL語句,并生成一個OledbDataReader
mydata.ExecuteScalar();//執(zhí)行當(dāng)行SQL語句,并返回第一行第一列的數(shù)據(jù),忽略其它行數(shù)據(jù)
mydata.getRowsCount(string TabelName);//返回一個表的總行數(shù)據(jù)
下面說一下,這個AccessData類的分頁屬性DataPages,WQ.Data下專門有個分頁類,來處理分頁:
using WQ.Data;
public DataPages newsTable;
protected void Page_Load(object sender, EventArgs e)
{
AccessData mydata = new AccessData();
mydata.Open();
mydata.CommandText="select * from [news]";
newsTable=mydata.DataPages;//返回一個分頁集對象;
mydata.Close();
newsTable.PageSize=10;//每頁分10行
newsTable.PageIndex=3;//將當(dāng)前頁定位到3頁
}
下面在來說一下偽url配置類,這個類不需要實(shí)例化和使用,(你的項(xiàng)目里一定要引用wq.dll)只需要對配置文件web.config進(jìn)行配置就行了。首先在<configuration>節(jié)點(diǎn)中加入:
<configSections>
<section name="RewriterConfig" type="WQ.Rewriter.RewriterConfigSerializerSectionHandler" />
</configSections>
記住這個要加個最前面,然后在<system.web>加入或修改:
<httpModules>
<add name="ModuleRewriter" type="WQ.Rewriter.moduleUrlRewriter" />
</httpModules>
最后配置重寫規(guī)則:
<configSections>
<section name="RewriterConfig" type="WQ.Rewriter.RewriterConfigSerializerSectionHandler" />
</configSections>
<RewriterConfig>
<Rules>
<!-- 偽URL重寫配置 -->
<RewriterRule>
<LookFor>~/news/(\d{1,4}).aspx</LookFor>//偽路徑
<SendTo>~/nt_event.aspx?cid=$1</SendTo>//原始路徑
</RewriterRule>
<RewriterRule>
<LookFor>~/news/(\w{1,6})/(\w{1,6})/abc.aspx</LookFor>//偽路徑
<SendTo><![CDATA[~/default.aspx?act=$1&key=$2]]></SendTo>原始路徑
</RewriterRule>
</Rules>
</RewriterConfig>
這樣偽URL就配置完成了,整個項(xiàng)目就可以使用這些偽規(guī)則了,注意.net只能托管.aspx文件。
這些類的詳細(xì)屬性和方法說明,在使用的時候都會有提示,不能用大量篇幅全部舉例描述和說明了,還有什么疑問的給我email或在群里討論了。
- ASP.NET 網(wǎng)站開發(fā)中常用到的廣告效果代碼
- ASP.NET MVC5網(wǎng)站開發(fā)概述(一)
- ASP.NET MVC5網(wǎng)站開發(fā)項(xiàng)目框架(二)
- ASP.NET?MVC5?網(wǎng)站開發(fā)框架模型、數(shù)據(jù)存儲、業(yè)務(wù)邏輯(三)
- ASP.NET?MVC5網(wǎng)站開發(fā)用戶注冊(四)
- ASP.NET?MVC5網(wǎng)站開發(fā)用戶登錄、注銷(五)
- ASP.NET MVC5網(wǎng)站開發(fā)用戶修改資料和密碼(六)
- ASP.NET MVC5網(wǎng)站開發(fā)文章管理架構(gòu)(七)
- ASP.NET MVC5網(wǎng)站開發(fā)添加文章(八)
- ASP.NET?MVC5網(wǎng)站開發(fā)顯示文章列表(九)
- ASP.NET MVC5網(wǎng)站開發(fā)修改及刪除文章(十)
- ASP.NET?MVC5網(wǎng)站開發(fā)咨詢管理的架構(gòu)(十一)
相關(guān)文章
asp.net(c#)Enterprise Library 3.0 下載
asp.net(c#)Enterprise Library 3.0 下載...2007-04-04Asp.net使用SignalR實(shí)現(xiàn)發(fā)送圖片
這篇文章主要為大家詳細(xì)介紹了Asp.net使用SignalR實(shí)現(xiàn)發(fā)送圖片,需要的朋友可以參考下2016-04-04.NET Core跨平臺串口通訊使用SerialPortStream基礎(chǔ)類庫問題解決
這篇文章介紹了.NET Core跨平臺串口通訊使用SerialPortStream基礎(chǔ)類庫問題解決,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-01-01.NET中實(shí)現(xiàn)對象數(shù)據(jù)映射示例詳解
這篇文章主要為大家介紹了.NET中實(shí)現(xiàn)對象數(shù)據(jù)映射示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10ASP.NET Core優(yōu)雅的在開發(fā)環(huán)境保存機(jī)密(User Secrets)
這篇文章主要為大家詳細(xì)介紹了ASP.NET Core如何優(yōu)雅的在開發(fā)環(huán)境保存機(jī)密User Secrets,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-05-05如何在ASP.Net Core使用分布式緩存的實(shí)現(xiàn)
這篇文章主要介紹了如何在ASP.Net Core使用分布式緩存的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02HttpWebRequest和HttpWebResponse用法小結(jié)
在每個系統(tǒng)出寫入報告錯誤代碼(找個合理的理由,比如系統(tǒng)免費(fèi)升級) -> 自家服務(wù)器接收并處理錯誤報告 -> 反饋用戶(解決掉BUG就行,不要太聲揚(yáng))2011-09-09