[ad_1]

Angenommen, Sie haben ein Online-Forum und um maximale Ergebnisse von Google AdSense (oder einem anderen Werbenetzwerk) zu erzielen, möchten Sie möglicherweise Anzeigen zwischen den Posts platzieren. Hier werde ich eine Technik zum Platzieren von Anzeigen in paging-fähigem asp: GridView-Steuerelement mit c # erläutern, da Asp.Net-Entwickler in den meisten Fällen Templated GridViews oder Repeater verwenden, um Forenbeiträge anzuzeigen.

Ok, es gibt zwei Möglichkeiten: Entweder können Sie asp binden: GridView mit einer DataSource, z. B. AccessDataSource, SQLDataSource usw., oder Sie müssen es beispielsweise manuell mit einer DataTable binden. Ich gehe vom zweiten Fall aus, dh das Raster ist einfach an eine Datentabelle gebunden.

1) Ziehen Sie eine GridView auf das Formular

2) Fügen Sie die folgenden Eigenschaften hinzu:

2.a) AllowPaging = “True”

2.b) AutoGenerateColumns = “False”

3) Definieren Sie Ereignishandler für die folgenden Ereignisse:

3.a) RowDataBound

3.b) PageIndexChanging

4) und fügen Sie vorerst nur eine einzelne Spalte von asp hinzu: TemplateField

5) Da wir GridView mit DataTable binden, füllen Sie die Tabelle mit den gewünschten Daten mithilfe von Adaptern usw. aus.

6) Dann wird eine genaue Replik dieser Tabelle erstellt, z. B. DataTable dt1 = dt.Clone ();

7) Importieren Sie alle Zeilen aus der ersten DataTable, z

foreach (DataRow dr in dt.Rows)

{

dt1.ImportRow (dr);

}}

8) Was ich tun werde, ist, eine gefälschte Zeile hinzuzufügen, um Platz für unser Werbeskript zu schaffen. Angenommen, Sie möchten Ihre Anzeige nach dem ersten “Blog-Beitrag” schalten. Da der ‘Seitenindex’ der ersten Seite von GridView Null ist. Im Falle der ersten Seite fügen wir einfach eine gefälschte Zeile in den Zeilenindex eins ein. Wenn für die DataTable eine ‘Primärschlüsselprüfung’ durchgeführt wird, initialisieren Sie diese beispielsweise mit -1. z.B

DataRow row2 = dt1.NewRow ();

row2[“Pk_Col”] = -1; // gefälschter Wert für pk Spalte

dt1.Rows.InsertAt (Zeile2, Index);

9) Berechnen Sie für alle anderen GridView-Seiten (wobei PageIndex größer als 0 ist) die Zeilenindizes und fügen Sie die gefälschten Zeilen ein.

10) Binden Sie schließlich die vorübergehend generierte Tabelle mit dem Raster. z.B

grdContents.DataSource = dt1;

grdContents.DataBind ();

11) Fügen Sie nun eine WebUserControl-Datei zur Website hinzu und platzieren Sie das Anzeigenskript darin. Dieses Anzeigensteuerelement wird in die Dummy-Zeilen geladen. Wenn im RowDataBound-Ereignishandler der RowType DataRow und row2 ist[“Pk_Col”] == -1 Fügen Sie dann das AdSense-Steuerelement hinzu, z. B. LoadControl (“AdsControl.ascx”).

Das ist alles.