[ad_1]
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:
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:
—————————————
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"]; } }
[ad_2]
コメント