¿Obteniendo el parámetro del enlace codificado ASP.NET?

programación


Tengo que obtener un parámetro de un enlace codificado.

El primer formato de enlace es como: Acerca de.aspx?parameter=bla

Pero debido a un requisito, el enlace se envía al usuario como

Acerca de.aspx?parámetro%3Dbla

Desde el enlace Acerca de.aspx?parámetro%3Dbla debería obtener el parámetro (bla).
Cuando intento obtener el parámetro normalmente con
Solicitud.QueryString[“parameter”] o HttpContext.Current.Request[“parameter”] devuelven nulo.

Gracias por las respuestas de antemano..

Solución 2

Lo que sucedió es que el “=” en su cadena de consulta se codificó en html en %3D. Primero debes arreglar lo que sea que esté creando esta URL con la cadena de consulta para que aparezca correctamente como About.aspx?parameter=bla

Solución 3

Hola, no es una solución adecuada pero podría ayudarte.
simplemente mantenga el valor codificado en temp y luego vuelva a decodificarlo y use ese valor de cadena de consulta como desee:

C#
public partial class About : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        var myString = "parameter=\"bla\"";
        var base64EncodedString = Convert.ToBase64String(ASCIIEncoding.ASCII.GetBytes(myString));
        Response.Redirect("Default.aspx?temp=" + base64EncodedString);
    }
}

ahora código para la página Default.aspx.cs:
—————————————

C#
public partial class _Default : System.Web.UI.Page
  {
      protected void Page_Load(object sender, EventArgs e)
      {
          var originalString = ASCIIEncoding.ASCII.GetString(Convert.FromBase64String(Request.QueryString["temps"]));
          lblShowName.Text = Request.QueryString["parameter"];
      }
  }

コメント

タイトルとURLをコピーしました