ASP.NET Unleashed:記錄廣告點選率
目標:在資料庫中記錄某個廣告顯示和被點選的記錄
方法:1.參照MSDN中:使用 AdRotator Web 伺服器控制元件顯示資料庫中的廣告的內容,
新建AdList表,該表是AdRotator欄位對映的資料來源。
2.新建AdStates表,其中AdID引用AdList主鍵,EntryDate記錄操作時間,Type記錄操作方式(0表示顯示,1表示點選)
3.配置SqlDataSource,SelectCommand讀取AdList表資料,
InsertCommand="Insert into AdStates(AdID,EntryDate,Type) values(@AdID,getdate(),0)” 插入一條廣告已顯示的記錄。
4.AdRotator控制元件選擇該資料來源,AdRotator_AdCreated事件中需要執行Insert命令,
並且需要將NavigateUrl重定向到一個ashx檔案.
5.ashx檔案用來在廣告被點選時在AdStates表中插入一條type = 1的記錄,並且轉到AdList表中NavigateUrl記錄的地址。
AdRotator_AdCreated事件:
Code
1protected void AdRotator_AdCreated(object sender, AdCreatedEventArgs e)
2 {
3 if (e.AdProperties["ID"] != null)//如果AdList中有記錄
4 {
5 //插入廣告已顯示的記錄
6 srcAd.InsertParameters["AdID"].DefaultValue = e.AdProperties["ID"].ToString();
7 srcAd.Insert();
8
9 //重定向到該ashx檔案,用來記錄被點選
10 e.NavigateUrl = "~/AdRotator/AdHandler.ashx?id=" + e.AdProperties["ID"].ToString();
11 }
12 }
AdHandler.ashx程式碼:
Code
1public void ProcessRequest (HttpContext context) {
2
3 string strConnection = ConfigurationManager.ConnectionStrings["MyAdRotatorConnectionString"].ConnectionString;
4 SqlConnection con = new SqlConnection(strConnection);
5 string NavigateUrl = string.Empty;
6 Int32 id = Convert.ToInt32(context.Request.QueryString["id"]);
7 using (con)
8 {
9 con.Open();
10 UpdateTransferStates(id, con);
11 NavigateUrl = GetNavigateUrl(id, con);
12 }
13
14 if (!string.IsNullOrEmpty(NavigateUrl))
15 {
16 context.Response.Redirect(NavigateUrl);//轉到該NavigateUrl
17 }
18
19 }
20
21 /**////
22 /// 在AdStates中插入一條被點選的記錄
23 ///
24 ///
25 ///
26 void UpdateTransferStates(Int32 AdID, SqlConnection con)
27 {
28 SqlCommand cmd = new SqlCommand();
29 cmd.Connection = con;
30 cmd.CommandText = "Insert into AdStates(AdID,EntryDate,Type) values(@AdID,GetDate(),1)";
31 cmd.Parameters.AddWithValue("@AdID", AdID);
32 cmd.ExecuteNonQuery();
33 }
34
35 /**////
36 /// 獲得該條記錄的NavigateUrl
37 ///
38 /// AdList主鍵值
39 ///
40 ///
41 string GetNavigateUrl(Int32 ID, SqlConnection con)
42 {
43 SqlCommand cmd = new SqlCommand();
44 cmd.Connection = con;
45 cmd.CommandText = "Select NavigateUrl from AdList where ID=@ID";
46 cmd.Parameters.AddWithValue("@ID", ID);
47 return cmd.ExecuteScalar().ToString();
48 }
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-620304/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle實驗記錄 (選擇率)Oracle
- Smaato:移動廣告填充率不足,點選率不高影響開發者盈利
- 谷歌的產品列表廣告點選率表現優於普通文字廣告谷歌
- AdParlor:Facebook移動應用廣告點選率為0.5%
- 旅遊企業如何利用Google+增加廣告點選率?Go
- Marin Software:智慧手機頂部廣告點選率最高 比例達39%
- 廣告賺錢|網站搭建廣告|增加點選量|互點網站
- 業餘草總結常見計算廣告點選率預估演算法演算法
- oracle實驗記錄 (連線選擇率,範圍與null)OracleNull
- Twitter:2Q20財報解讀 視訊輪播廣告點選率提高60%
- Google Maps商家廣告進行重新設計,使用者點選率平均提高100%Go
- 點選率與轉化率的優化策略——資訊圖優化
- 業餘草推薦阿里媽媽自研廣告點選率預估核心演算法MLR阿里演算法
- Chitika Insights:資料顯示Opera瀏覽器廣告點選率最高 達2.12%瀏覽器
- oracle實驗記錄 (oracle單表選擇率與基數計算(1))Oracle
- oracle實驗記錄 (oracle單表選擇率與基數計算(2))Oracle
- oracle實驗記錄 (oracle單表選擇率與基數計算(3))Oracle
- asp.net點選鍵盤enter鍵,呼叫按鈕點選事件函式ASP.NET事件函式
- 知識點記錄
- Object要點記錄Object
- 前端點滴記錄前端
- Spark開發-網站點選率排名方法Spark網站
- Python做點選率資料預測Python
- Twist Image:最願意點選的廣告的特性
- appium 點選微信通訊錄APP
- 站點優化記錄優化
- Mac | 技巧點滴記錄Mac
- 技術點滴記錄
- 廣告廣告,無處可逃(flashget0.95破解記錄) (1千字)
- 阿里媽媽牟娜:定向廣告新一代點選率預估主模型——深度興趣演化網路阿里模型
- Vue中的點點滴滴在此記錄Vue
- Criteo:點選廣告越多的人,購買的商品也越多
- ASP.Net Core5.0 EF Core使用記錄ASP.NET
- ASP.NET - GridView實現點選編輯列ASP.NETView
- win7 iis7 釋出asp.net mvc4.0+EF6.0站點記錄Win7ASP.NETMVC
- 記錄的小知識點
- PHP日常注意點-記錄1PHP
- 學習記錄 -- 知識點