En la página de inicio de sesión, la sesión se agrega de la siguiente manera

Session["Admin"] = ddladmin.SelectedValue;  

Pero, ¿cómo puedo llamarlo a otra página en c # .net?

EDITAR

Gracias por la ayuda. Pero en la segunda página

   public DataSet GetDoc(string _No, bool _IsInit, CService.U _dt, string _Administrator, string _SysDocType)
      {


           string selectedAdmin = HttpContext.Current.Session["Admin"].ToString();

          try
          {
            conn.ConnectionString = _connectionString;
            conn.Open();

           string _sql = "SELECT * FROM " + _tblnpf + "DOC WHERE No=@No AND USERDEP='Quality' AND Administrator = selectedAdmin";

Cuando agregué como arriba, elAdmin seleccionado muestra un error ((GetDoc (): ORA-00904: "selectedAdmin": identificador no válido)). Pero en realidad quiero que el valor de la sesión se coloque después de "Administrador =" del siguiente código. Si coloco "Administrador =" DOCTOR ", está funcionando pero cuando pongo la sesión value-selectedadmin no está"

        string _sql = "SELECT * FROM " + _tblnpf + "DOC WHERE No=@No AND USERDEP='Quality' AND Administrator = selectedAdmin";
-2
shim sur 17 ene. 2018 a las 08:14

3 respuestas

La mejor respuesta

Puede acceder a la sesión desde cualquier otra página como la siguiente:

string selectedAdmin = Session["Admin"].ToString();

Si está accediendo desde un método estático, debe usarlo así:

string selectedAdmin = HttpContext.Current.Session["Admin"].ToString();

El problema es con la forma en que pasa el valor al servidor, use su valor en su lugar o pase el valor como un parámetro como este: Administrator = @selectedAdmin

2
sujith karivelil 17 ene. 2018 a las 08:41

selectedAdmin es una variable que contiene la cadena a la que está accediendo desde el contexto de la sesión.

No puede incluir una variable de cadena dentro de otra cadena como esa porque el programa solo piensa en su texto. Tiene que concatenar las cadenas juntas, lo que ya está haciendo con la variable _tblnpf, así que haga lo mismo con selectedAdmin:

La línea debería leer:

string _sql = "SELECT * FROM " + _tblnpf + "DOC WHERE No=@No AND USERDEP='Quality' AND Administrator = " + selectedAdmin;

Nota: componer sentencias SQL agregando cadenas juntas es peligroso y plantea un riesgo de seguridad significativo. Siempre debe usar parámetros SQL (como lo que está haciendo con @No) para pasar variables.

1
Mani Gandham 17 ene. 2018 a las 07:41

También puedes usarlo así, prueba esto.

string selectedAdmin = (string)(Session["Admin"]);
0
Shakir Ahamed 17 ene. 2018 a las 05:22