Actualmente tengo un control de repetidor y dentro de la plantilla de elemento tengo un control de usuario. Este control de usuario se representa correctamente, pero estoy tratando de asignar un elemento de datos a una propiedad en el control del repetidor.Asignación dinámica de una propiedad en un control de usuario en un control de repetidor ASP.NET
<asp:Repeater ID="Repeater1" DataSourceID="EntityDataSource" runat="server">
<ItemTemplate>
<uc1:Request ID="Request1" runat="server" RequestId='<%# Eval("RequestId") %>' />
</ItemTemplate>
RequestID es sólo un Int32. Simplemente no lo asigna.
Puedo poner la evaluación fuera del control de usuario solo en la plantilla del elemento y muestra correctamente la identificación correcta.
Si elimino la evaluación completa y solo escribo un número, entonces funciona bien.
Cualquier ayuda apreciada.
[ACTUALIZACIÓN]: Edición Resuelto
que estaba usando un EntityDataSource y esto binded automáticamente al repetidor. Imprimió toda la información de la base de datos en la pantalla sin ningún código subyacente. Pero cuando introduzco el código detrás de Repeater1.DataBind(); luego comenzó a funcionar.
No sé por qué, pero bueno, está resuelto. Ahora pasa con éxito el valor. Me imagino que tiene algo que ver con el ciclo de vida de la página.
Nada funciona todavía. El RequestId simplemente no se establece cuando utilizo Eval. Cuando hago <% # Eval ("RequestId")%> justo encima del control de usuario, solo en el espacio abierto se imprime perfectamente en la pantalla. Si codifico el número, p. RequestId = "2" funciona bien. Pero simplemente no funciona cuando se hace como se indicó anteriormente. –
Tiene un error tipográfico en su código. ¿No debería haber un cierre 'justo después de%>? – Skorpioh