SelectCommand creado dinámicamente para GridView SqlDataSource en asp.net
-
08-07-2019 - |
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?
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