国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
增加CCS1.1的Blog日志訪問者記錄功能 - Aero‘s Tech Space - ...

增加CCS1.1的Blog日志訪問者記錄功能

我相信大家都會(huì)想知道有那些人看過了自己的“杰作”,CCS中原來記錄了PV(PageView)的來源,通過修改我們可以實(shí)現(xiàn)訪問者跟蹤功能。

一、修改CCS源碼

1)打開\src\Components\Components\Referral.cs(訪問記錄實(shí)體類),添加代碼

private string _visitor;/// /// getter and setter for Visitor name/// public string Visitor{get{return this._visitor;}set{this._visitor = value;}}

2)打開\src\blogs\controls\entryviewcontainer.cs,修改void BindData(),goto line75把

Referral r = new Referral();r.SettingsID = CSContext.Current.SiteSettings.SettingsID;r.SectionID = we.SectionID;r.PostID = we.PostID;Referrals.AddToQueue(Context,CurrentWeblog.ReferralFilter,r);

改為

Referral r = new Referral();r.SettingsID = CSContext.Current.SiteSettings.SettingsID;r.SectionID = we.SectionID;r.PostID = we.PostID;r.Vistor = CSContext.Current.UserName; // record current visitor nameReferrals.AddToQueue(Context,CurrentWeblog.ReferralFilter,r);

3)打開src\data providers\sqldataprovider\sqlcommondataprovider.cs,修改public override void SaveReferralList(ArrayList referrals)為

public override void SaveReferralList(ArrayList referrals){using( SqlConnection connection = GetSqlConnection() ){SqlCommand command = new SqlCommand( this.databaseOwner + ".cs_referrals_Add", connection);// Mark as stored procedure command.CommandType = CommandType.StoredProcedure;// Add parameters command.Parameters.Add("@SettingsID", SqlDbType.Int, 4);command.Parameters.Add("@SectionID", SqlDbType.Int, 4);command.Parameters.Add("@PostID", SqlDbType.Int, 4);command.Parameters.Add("@UrlID", SqlDbType.Int, 4);command.Parameters.Add("@Url", SqlDbType.NVarChar, 512); command.Parameters.Add("@Visitor", SqlDbType.NVarChar, 64); // visitor name parameterconnection.Open();foreach(Referral referral in referrals){command.Parameters["@SettingsID"].Value = referral.SettingsID;command.Parameters["@SectionID"].Value = referral.SectionID;command.Parameters["@PostID"].Value = referral.PostID;command.Parameters["@UrlID"].Value = referral.UrlID;command.Parameters["@Url"].Value = referral.Url; command.Parameters["@Visitor"].Value = referral.Vistor; command.ExecuteNonQuery();}connection.Close();command.Dispose();connection.Dispose();}}

修改public override ReferralSet GetReferrals(Referral r, int pageSize, int pageIndex),把while(reader.read())代碼段改為

while(reader.Read()){   referral = new Referral();   referral.PostID = (int)reader["PostID"];   referral.SectionID = (int)reader["SectionID"];   referral.LastDate = (DateTime)reader["LastDate"];   referral.Hits = (int)reader["Hits"];   referral.Url = reader["Url"] as string;   referral.Title = reader["Subject"] as string;   referral.Vistor = reader["Visitor"] as string;   rs.Referrals.Add(referral);}

4)打開\src\themes\default\skins\blog\Skin-WebReferralList.ascx,在html代碼

<th class="column" width="*"><CS:ResourceControl runat="server" ResourceName="Referrals_Url" ID="Resourcecontrol1"/>th>

下面插入

<th class="column" width="150px"><CS:ResourceControl runat="server" ResourceName="Referrals_Visitor" ID="Resourcecontrol5"/>th>

然后修改為

<ItemTemplate><tr><td><asp:HyperLink ID = "ReferralLink" Runat = "Server" />td> <td align="center"><asp:Literal ID = "Visitor" Runat = "Server" />td><td><asp:HyperLink ID = "PostLink" Runat = "Server" /><td align="center"><asp:Literal ID = "ReferralHits" Runat = "server" />td><td align="center"><asp:Literal ID = "ReferralDate" Runat = "server" />td>tr>ItemTemplate>

5)打開\src\blogs\controls\admin\webblogreferrallist.ascx,修改private void referralRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e)為

private void referralRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e){   if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)   {      Referral r = e.Item.DataItem as Referral;      if(r != null)      {         HyperLink link = e.Item.FindControl("ReferralLink") as HyperLink;         Literal hits = e.Item.FindControl("ReferralHits") as Literal;         Literal last = e.Item.FindControl("ReferralDate") as Literal;         Literal visitor = e.Item.FindControl("Visitor") as Literal;   // add the visitor column         
         HyperLink sl = e.Item.FindControl("PostLink") as HyperLink;         if(r.Title.Length <= 100)            sl.Text = r.Title;         else            sl.Text = r.Title.Substring(0,100);         sl.NavigateUrl = BlogUrls.Instance().ShortLink(r.PostID);         if(r.Url.Length <= 100)            link.Text = Context.Server.HtmlEncode(r.Url);         else            link.Text = Context.Server.HtmlEncode(r.Url.Substring(0,100));         link.NavigateUrl = r.Url;         visitor.Text = r.Vistor;   // bind the visitor column         hits.Text = r.Hits.ToString();         last.Text = r.LastDate.ToString(DateFormat);      }   }}

6)修改相應(yīng)Language的Resource.xml文件,添加Referrals_Visitor字符串

二、修改數(shù)據(jù)庫

1)修改cs_referrals數(shù)據(jù)表,添加Visitor列,屬性為nvarchar(64), allow null,或直接執(zhí)行

ALTER TABLE cs_Referrals ADD Visitor nvarchar(64) NULL

2)修改存儲(chǔ)過程cs_referrals_Add,可直接執(zhí)行如下sql語句

ALTER Proc dbo.cs_referrals_Add(@UrlID int,@Url nvarchar(512),@SettingsID int,@SectionID int,@PostID int,@Visitor nvarchar(64))asSET Transaction Isolation Level Read UNCOMMITTEDexec cs_Urls_Add @UrlID, @UrlDeclare @ReferralID intSelect @ReferralID = ReferralID FROM cs_Referrals where SettingsID = @SettingsID and SectionID = @SectionID and UrlID = @UrlIDif(@ReferralID is null)BeginInsert cs_Referrals (SettingsID, SectionID, PostID, UrlID, Hits, LastDate, Visitor)Values (@SettingsID, @SectionID, @PostID, @UrlID, 1, getdate(), @Visitor)EndElseBeginUpdate cs_ReferralsSetHits = Hits + 1,LastDate = getdate()Where ReferralID = @ReferralIDEnd

3)修改cs_referrals_Get,直接執(zhí)行下面的sql語句

ALTER Proc dbo.cs_referrals_Get(@SettingsID int,@SectionID int,@PostID int,@PageSize int,@PageIndex int,@TotalRecords int output)asSET Transaction Isolation Level Read UNCOMMITTEDDECLARE @RowsToReturn intDECLARE @PageLowerBound intDECLARE @PageUpperBound intSET @RowsToReturn = @PageSize * (@PageIndex + 1)SET ROWCOUNT @RowsToReturnSET @PageLowerBound = @PageSize * @PageIndexSET @PageUpperBound = @PageLowerBound + @PageSize + 1CREATE TABLE #PageIndex(IndexID int IDENTITY (1, 1) NOT NULL,ReferralID int)if @PostID <> -1BeginInsert #PageIndex (ReferralID)Select ReferralID FROM cs_Referrals where SettingsID = @SettingsID and SectionID = @SectionID and PostID = @PostID order by LastDate desc-- Reset rowcount and get count of total recordsSET ROWCOUNT 0Select @TotalRecords = count(*) From cs_Referrals Where SettingsID = @SettingsID and SectionID = @SectionID and PostID = @PostIDEndElseBeginInsert #PageIndex (ReferralID)Select ReferralID FROM cs_Referrals where SettingsID = @SettingsID and SectionID = @SectionID order by ReferralID-- Reset rowcount and get count of total recordsSET ROWCOUNT 0Select @TotalRecords = count(*) From cs_Referrals Where SettingsID = @SettingsID and SectionID = @SectionIDEndSelect cs_Posts.Subject, cs_Referrals.ReferralID, cs_Referrals.SettingsID, cs_Referrals.SectionID, cs_Posts.PostID, Url, Hits, LastDate, cs_Referrals.VisitorFROM cs_Referrals, cs_Urls, #PageIndex, cs_PostsWherecs_Referrals.ReferralID = #PageIndex.ReferralID andcs_Urls.UrlID = cs_Referrals.UrlID and#PageIndex.IndexID > @PageLowerBound AND#PageIndex.IndexID < @PageUpperBound ANDcs_Posts.PostID = cs_Referrals.PostIDOrder by IndexID--Select @TotalRecords = Count(*) FROM #PageIndexDROP Table #PageIndex
適用于CCS1.1,學(xué)習(xí)CCS中,感謝寶玉~~
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
淘寶直播預(yù)告的設(shè)置與要求
韓順平的SqlHelper類
iwpriv
C Sharp與.net學(xué)習(xí)筆記(二)
flash cs3編程
c#創(chuàng)建windows service示例
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服