Ver Mensaje Individual
  #2 (permalink)  
Antiguo 06/06/2011, 08:48
alexg88
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: Consulta con variable en GridView

No puedes utilizar las variables directamente, pero puedes hacerlo de varias maneras, por ejemplo, usando variables de sesión o de contexto.

En tu caso, mejor de contexto porque sólo lo usas durante esa petición.

Código vb:
Ver original
  1. Public Class soporte
  2.     Inherits System.Web.UI.Page
  3.  
  4.  
  5.  
  6.     Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  7.         Dim strUser As String = System.Web.HttpContext.Current.User.Identity.Name
  8.         Me.label11.Text = strUser
  9.         Context.Items.Add("var_user", strUser);
  10.      
  11.     End Sub
  12.  
  13. End Class

Código ASP:
Ver original
  1. <div class="gensoporte">
  2.        <asp:SqlDataSource ID="SqlDataSource1" runat="server"
  3.                ConnectionString="<%$ ConnectionStrings:trackpasoConnectionString %>" SelectCommand="SELECT DISTINCT W.WORKITEMKEY, S.LABEL as ESTADO, W.PACKAGESYNOPSYS
  4. FROM TWORKITEM as W, TSTATE as S, TCLIENTE as C
  5. WHERE (W.STATE = S.PKEY)
  6. AND
  7. (W.CLIENTEKEY = C.PKEY)
  8. AND (C.LABEL = ' & <%= Context.Items["var_user"] as String %>  & ')
  9. AND (S.LABEL != 'closed')"></asp:SqlDataSource>
  10.            <asp:GridView ID="GridView1" runat="server" AllowPaging="True"
  11.                DataSourceID="SqlDataSource1">
  12.            </asp:GridView>
  13.            <asp:Label ID="label11" runat="server" Text="Label"></asp:Label>
  14.        
  15.     </div>

También puedes usar directamente System.Web.HttpContext.Current.User.Identity.Name en la página aspx por que si está definida esa variable en ese ámbito.

También ten en cuenta que para utilizar variables tienes que encerrar la expresión entre <%= %>. Esto sólo en caso de expresiones simples (sólo un valor).