Pregunta

Estoy trabajando con un GridView que usa un elemento SqlDataSource que se ve así:

        <asp:SqlDataSource ID="InventoryDB" runat="server" ConnectionString="<%$ ConnectionStrings:InventoryConnectionString %>"
            SelectCommand="SELECT [Server], [Customer] FROM [Website] WHERE [Owner] = 'someOwner'">
        </asp:SqlDataSource>

Me gustaría reemplazar la parte 'someOwner' de la cláusula where con algo dinámico, así:

SelectCommand="SELECT [Server], [Customer] FROM [Website] WHERE [Owner] = '<%# UserManager.getCurrentUser(Request) %>'"

Pero cuando hago esto, parece usar el texto literal de la cláusula WHERE en lugar de evaluar mi llamada a la función, que por supuesto no funciona. ¿Cuál es la forma correcta de hacer esto?

¿Fue útil?

Solución

La forma correcta de manejar eso es usar parámetros. La documentación de MSDN es bastante completa en mostrando cómo usarlos.

Parámetros de usuario con controles de origen de datos tiene más detalles y información accesible sobre el uso de parámetros.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top