asp.net網站開發包wq.dll打包下載_實用技巧

來源:互聯網
上載者:User
並不是我不開源,我是覺得包起來方便一點,我沒有加密,要看原始碼的直接反編一下就看到了。
所有WQ對象,按照他們的功能進行了分類,分別放在5個不同的名稱空間下:

複製代碼 代碼如下:

using WQ.Data;//資料庫操作類
using WQ.Rewriter;//偽URL配置類
using WQ.Server;//伺服器資訊類(這個沒完成)
using WQ.Text;//字串操作類(這是個靜態類,全是靜態方法)
using WQ.Web;//網頁常用類(目前只完成了圖片浮水印類)

壓縮包下載: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>

如果你想把資料在一個GridView中:

GridView1.DataSource=mydata.ExecuteDataTable();
GridView1.DataBind();

需要說明的是,上面我們沒有看到資料庫的驅動,因為驅動是在web.config設定檔中取的,所以在使用這個類時,請先配置。

<connectionStrings>
  <add name="connstring" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|pub.mdb" providerName="System.Data.OleDb"/>
</connectionStrings>

如果你有多個Access資料庫,例:

<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()預設開啟的是name="connstring"這個資料庫,如果你想開啟其它的資料庫(name="connmac"):

AccessData mydata = new AccessData();
mydata.WebConfigConnectionName="connmac";
mydata.Open();
....
mydata.Close();//關閉資料庫不要忘了

如果你沒有或者不想配置web.config,也可以直接把驅動寫進建構函式:

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();

如果你查詢的資料只有一條,可以直接返回一個ArrayList:

mydata.CommandText="select [Title],[Content],[DateTime] from [news] where ID=3";
ArrayList newsList=mydata.ExecuteArrayList();//返回一個ArrayList

在使用的時候,就可以直接使用這種輕最的資料了:

<div>
  <div><label>新聞標題:<%=newsList[0].ToString()%></label></div>
  <div>新聞內容:<%=newsList[1].ToString()%></div>
  <div>發布日期:<%=newsList[2].ToString()%></div>
</div>

還有其它的方法,我這裡就不一一舉例了:

mydata.ExecuteNonQuery();//執行當前SQL語句,並返回受影響的行數
mydata.ExecuteReader();//執行當行SQL語句,並產生一個OledbDataReader
mydata.ExecuteScalar();//執行當行SQL語句,並返回第一行第一列的資料,忽略其它行資料
mydata.getRowsCount(string TabelName);//返回一個表的總行資料

下面說一下,這個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;//將當前頁定位到3頁
}

下面在來說一下偽url配置類,這個類不需要執行個體化和使用,(你的項目裡一定要引用wq.dll)只需要對設定檔web.config進行配置就行了。首先在<configuration>節點中加入:

<configSections>
  <section name="RewriterConfig" type="WQ.Rewriter.RewriterConfigSerializerSectionHandler" />   
</configSections>

記住這個要加個最前面,然後在<system.web>加入或修改:

<httpModules>
  <add name="ModuleRewriter" type="WQ.Rewriter.moduleUrlRewriter" />
</httpModules>

最後配置重寫規則:

<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就配置完成了,整個項目就可以使用這些偽規則了,注意.net只能託管.aspx檔案。

這些類的詳細屬性和方法說明,在使用的時候都會有提示,不能用大量篇幅全部舉例描述和說明了,還有什麼疑問的給我email或在群裡討論了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.