caracteres especiales en window.open URL necesarios para abrir el archivo
Frecuentes
Visto 947 veces
0
Tengo una aplicación en la que el usuario abriría el documento haciendo clic en un botón de enlace que abre la ruta del documento
if (e.CommandArgument.ToString().ToLower().IndexOf(".pdf") > 0)
ScriptManager.RegisterStartupScript(Page, this.GetType(), "myPopUp", "<script language='Javascript'>mywin=window.open('file:" + e.CommandArgument.ToString().Trim().Replace("\\", "/") + "', '', 'location=0,status=0,resizable=1,scrollbars=1,height=800px, width=1000px');</script>", false);
En esto cuando el nombre de archivo es algo así como xyz## se lee como xyz#
y si el nombre del archivo es como xyz# está leyendo xyz
¿Alguna solución?
2 Respuestas
0
if (e.CommandArgument.ToString().ToLower().IndexOf(".pdf") > 0)
ScriptManager.RegisterStartupScript(Page, this.GetType(), "myPopUp", "<script language='Javascript'>mywin=window.open('file:" + e.CommandArgument.ToString().Trim().Replace("\\", "/") + "', '', 'location=0,status=0,resizable=1,scrollbars=1,height=800px, width=1000px');</script>", false);
Reemplace arriba con esto en su lugar:
if (e.CommandArgument.ToString().ToLower().IndexOf(".pdf") > 0)
ScriptManager.RegisterStartupScript(Page, this.GetType(), "myPopUp", "<script language='Javascript'>mywin=window.open('file:" + e.CommandArgument.ToString().Trim().Replace("\\", "/") + "', **'_self'**, 'location=0,status=0,resizable=1,scrollbars=1,height=800px, width=1000px');</script>", false);
resuelve el problema.
contestado el 31 de mayo de 12 a las 02:05
0
En mi opinión... Estos son exactamente estos problemas causados por IE pero también por un programador benévolo.
Como mejor solución veo algo como esto:
ventana.open('scriptUrl?parámetros')
y el script interno obtiene el nombre del archivo de los parámetros y devuelve el archivo después de la redirección o similar.
Respondido 04 Oct 12, 16:10
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas .net url special-characters filenames window.open or haz tu propia pregunta.
¿Esto es C#?. Mi error. No estoy en C #. Lo siento. - Niranjan
Puedes leer este para obtener más información. - Niranjan