2

objectDataSource があり、オブジェクトをそのInsertingイベントのパラメーターとして渡そうとしています。なぜかInserting is not getting fired beforeInsert` が呼び出されます。

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;
        }
    }
4

2 に答える 2

2

同じ問題が発生しましたが、解決策は非常に簡単でした。開発者の 1 人が if (Page.PostBack == false) でイベントをサブスクライブしました。

基本(httpプロトコル)に従って、サーバーは次のポストバックでバインディングを忘れます

于 2009-11-27T04:45:23.867 に答える
0

ユーザー定義オブジェクトを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;
    }
 }
于 2009-11-26T22:21:31.507 に答える