DataItem en Repeater.Items siempre es nulo

Estoy configurando el DataSource de mi repetidor en una Lista (MyProducts es una clase simple, que consta solo de get / setters).

Después de esto y DataBind (), puedo ver en modo de depuración que DataItem de cada Repeater.Items es nulo. Al realizar una devolución de datos e intentar actualizar MyProducts, Repeater.Items [n] .DataItem sigue siendo nulo y no puedo emitirlo, para hacer mi trabajo.

¿Por qué no se establece DataItem en cada RepeaterItem, cuando conecto datos a mi repetidor? No puedo entender / Google fuera. Todos los demás aspectos de mi código funcionan correctamente (enviando datos de MyProducts a aspx, usando, por ejemplo:

<asp:TextBox runat="server" id="q" Text='<%# DataBinder.Eval(Container.DataItem, "Quantity")%>'></asp:TextBox>

Más código:

public class MyProducts
    {
        public string Number
        {
            get; set;
        }

        public decimal Price
        {
            get; set;
        }

        public decimal Quantity
        {
            get; set;
        }

        public decimal Total
        {
            get { return Quantity * Price; }
        }
    }

Generando:

public List<MyProducts> TheProducts
{
 get { // Invoking webservice, getting response as xml and converting it to a list of MyProducts }
}

Mi control de usuario:

// Bind products in cart
r.DataSource = TheProducts;
r.DataBind();
// Debugging "r.Items[n].DataItem" now shows "null", eventhough all objects has been correctly binded

Editar # 2, la información de depuración. DataSource se carga correctamente, pero Repeater.Items [3] .DataItem es nulo. Debería tener un valor, ¿verdad?captura de pantalla

Editar # 3, lo entiendo ahora, pensé que DataItem siempre estaba accesible cuando DataSource está configurado, y no pensé en incluir el código completo (intenté acceder a él en Page_Load).

Después de que el usuario haya editado un valor de cantidad, quería guardar la nueva cantidad para MyProducts. Lo resolví colocando un campo oculto que contiene la identificación de MyProducts, para que pueda buscarlo manualmente y obtener el objeto MyProducts desde allí.

Gracias a Emremp, Mark Avenius y todos los demás que colaboraron.

Respuestas a la pregunta(2)

Su respuesta a la pregunta