ObjectdataSource Inserting event not firing up?
-
05-07-2019 - |
Question
I have an objectDataSource and I am trying to pass an object as parameter in its Inserting
event. For some reason, Inserting is not getting fired before
Insert` is called.
It is not getting into the ObjectDataSource1_Inserting(object sender, ObjectDataSourceMethodEventArgs e)
event block for some reason. Any ideas as to why?
Here is the object I need to pass:
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;
}
}
Solution
Once i encountered the same issue but solution was very simple, one of our developer has subscribed the event in if (Page.PostBack == false)
So as per the fundamentals (http protocol) server will forget binding on next post back
OTHER TIPS
To pass user-defined objects to a ObjectDataSource you must including a default constructor that takes no parameters. The data source object's public properties must also expose both get and set accessors.
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;
}
}