Событие вставки ObjectdataSource не запускается? - PullRequest
2 голосов
/ 26 ноября 2009

У меня есть objectDataSource, и я пытаюсь передать объект в качестве параметра в его Inserting событии. По какой-то причине вызывается Inserting is not getting fired before Insert`.

По какой-то причине он не попадает в блок событий ObjectDataSource1_Inserting(object sender, ObjectDataSourceMethodEventArgs e). Есть идеи, почему?

Вот объект, который мне нужно передать:

  public class FeedItem
    {
        string feedItemTitle;
        string feedItemLink;

        public string FeedItemTitle
        {
            get { return feedItemTitle; }
        }
        public string FeeDItemLink
        {
            get { return feedItemLink; }            
        }

        public FeedItem(string _feedItemTitle, string _feedItemLink)
        {
            feedItemTitle = _feedItemTitle;
            feedItemLink = _feedItemLink;
        }
    }

Ответы [ 2 ]

2 голосов
/ 27 ноября 2009

Как только я столкнулся с той же проблемой, но решение было очень простым, один из наших разработчиков подписался на событие в if (Page.PostBack == false)

Так что согласно основам (протокол HTTP) сервер забудет привязку к следующему сообщению обратно

0 голосов
/ 27 ноября 2009

Чтобы передать пользовательские объекты в ObjectDataSource, вы должны включить конструктор по умолчанию, который не принимает параметров. Открытые свойства объекта источника данных также должны предоставлять методы доступа get и set.

 public class FeedItem
 {
    string feedItemTitle;
    string feedItemLink;

    public string FeedItemTitle
    {
        get { return feedItemTitle; }
        set { feedItemTitle= value; }
    }

    public string FeeDItemLink
    {
        get { return feedItemLink; }
        set { feedItemLink= value; }            
    }

    public FeedItem(){}

    public FeedItem(string _feedItemTitle, string _feedItemLink)
    {
        feedItemTitle = _feedItemTitle;
        feedItemLink = _feedItemLink;
    }
 }
...