ObjectdataSource ¿El evento de inserción no se está activando?
-
05-07-2019 - |
Pregunta
Tengo un objectDataSource y estoy tratando de pasar un objeto como parámetro en su evento Inserting
. Por alguna razón, La inserción no se realiza antes de que se llame a
Insert`.
No se está metiendo en el bloque de eventos ObjectDataSource1_Inserting (object sender, ObjectDataSourceMethodEventArgs e)
por alguna razón. ¿Alguna idea de por qué?
Aquí está el objeto que necesito pasar:
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;
}
}
Solución
Una vez que encontré el mismo problema pero la solución era muy simple, uno de nuestros desarrolladores se suscribió al evento en if (Page.PostBack == false)
Por lo tanto, según el servidor de los fundamentos (protocolo http), se olvidará el enlace en la próxima publicación de vuelta
Otros consejos
Para pasar objetos definidos por el usuario a un ObjectDataSource, debe incluir un constructor predeterminado que no tome parámetros. Las propiedades públicas del objeto de la fuente de datos también deben exponer los accesores get y 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;
}
}