C #
public ActionResult GetBanners()
{
List<BannerImage> bannerImages = new List<BannerImage>();
bannerImages.add(new BannerImage(){Id = 1, TargetUrl = "http://www.google.com", ImageUrl= 'Image1'});
bannerImages.add(new BannerImage(){Id = 2, TargetUrl = "http://www.yahoo.com", ImageUrl= 'Image2'});
bannerImages.add(new BannerImage(){Id = 3, TargetUrl = "http://www.msn.com", ImageUrl= 'Image3'});
return view(bannerImages);
}
Просмотр (.cshtml)
@model IEnumerable<MyApp.Areas.Admin.ViewModel.BannerImage>
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<table class="table table-bordered table-striped" >
@foreach (var item in Model) {
<tr>
<td>
<a onclick="ClickMethod()" href = "@item.TargetUrl"> <img src = "@item.ImageUrl" /> </a>
</td>
</tr>
}
</table>
Я показываю баннеры внешнего сайта в своем приложении,Здесь я сталкиваюсь с проблемой отслеживания:
1. Просмотры
2. Показы (означает, что реклама видна пользователю за пределами экрана)
3. Показы сегодня
4. Клики сегодня
Мой подход
public ActionResult GetBanners()
{
// before showing the ads, I am inserting the ads for view in Userads database table
Updatebannerviews();
}
public ActionResult ClickMethod()
{
// I am inserting the ads for clicks in Userads database table
UpdateBannerClicks();
return json("Success", JsonBehavior.AllowGet);
}
public ActionResult Impressions()
{
// I am inserting the ads for impressions, in Userads database table
UpdateBannerImpressions();
return json("Success", JsonBehavior.AllowGet);
}
Это правильный путь?Или есть лучший способ?Пожалуйста, порекомендуйте.Заранее спасибо.