2011-12-29 1 views
0

Я хочу, чтобы записать клиента, просматривать мою веб-страницу, поэтому я делаю это в session_start() из Global.asaxне удалось сохранить базу данных изменений в session_start() из Global.asax в asp.net MVC C#

String ipAddress = System.Web. HttpContext.Current.Request. 
         ServerVariables["REMOTE_ADDR"]; 
    Web.Models.WebsiteTracking web_track = new Web.Models.WebsiteTracking(); 
    web_track.IDUser = 0; 
    web_track.ActiveLoginDate = DateTime.Now; 
    web_track.IPAddress = ipAddress; 

    this.DataContext.WebsiteTrackings.AddObject(web_track); 
    this.DataContext.SaveChanges(); 

Я записываю IP-адрес пользователя, дату, которую они просматривают, и ID = 0 в таблицу WebsiteTracking. Но Ошибка: не содержит определения DataContext и не расширяет метод DataContext.

Любой может сказать мне, что я должен заменить «this.DataContext».

Спасибо вам большое.

+0

'this' в методе' Session_Start' относится к 'HttpApplication'; если вы не заменили это, нет свойства 'DataContext', вам нужно больше информации о том, что вы пытаетесь сделать, и т. д. –

+0

Я хочу сохранить запись в базе данных. В моей модели я использую «public class CustomerModels: ItemEntityDataContext», поэтому я могу написать this.DataContext, но в блоке ниже кода я не знаю, как его проверить. – Nothing

ответ

1

Попробуйте создать новый экземпляр вашего DataContext.

String ipAddress = System.Web. HttpContext.Current.Request. 
        ServerVariables["REMOTE_ADDR"]; 
Web.Models.WebsiteTracking web_track = new Web.Models.WebsiteTracking(); 
web_track.IDUser = 0; 
web_track.ActiveLoginDate = DateTime.Now; 
web_track.IPAddress = ipAddress; 

using(var dataContext = new DataContext()) 
{ 
    dataContext.WebsiteTrackings.AddObject(web_track); 
    dataContext.SaveChanges(); 
} 
+0

Ошибка: тип или пространство имен «Datacontext» не удалось найти. – Nothing

+2

@socheata Затем замените «DataContext» на свое фактическое имя контекста. – Eranga

Смежные вопросы