Pergunta

Eu estou trabalhando com um GridView que usa um elemento SqlDataSource que tem esta aparência:

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

Eu gostaria de substituir a peça 'someOwner' da cláusula onde, com algo dinâmico, assim:

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

Mas quando eu fizer isso, ele parece usar o texto literal da cláusula WHERE em vez de avaliar a minha chamada de função, o que obviamente não funciona. O que é o caminho certo para fazer isso?

Foi útil?

Solução

A maneira correta de lidar com isso é usar parâmetros. A MSDN documentação sobre ele é bastante completa em mostrando como usá-los.

parâmetros do usuário com controles de fonte de dados tem um pouco mais detalhada e informações acessíveis sobre o uso de parâmetros.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top