PASS IDE EN LA URL PARA NEWFORM.ASPX?
-
10-12-2019 - |
Pregunta
Tengo un formulario de visualización y una parte web de lista justo debajo de eso.Cuando los usuarios hacen clic en "Agregar nuevo artículo" en la parte web de la lista, me gustaría que los valores se puedan llenar automáticamente.
La URL para el formulario de DAPLAY contiene DispForm.aspx?ID=1
, pero cuando abro el NewForm.aspx, me gustaría rellenar un campo con esa ID automáticamente.¿Puedo pasar esa identificación a la nueva forma o al menos en su URL donde puedo recuperarlo desde allí?Todo lo que parece pasar es el nombre de la lista en la que se encuentra el formulario de visualización.
Solución
Dependiendo de su configuración, la página NewForm.aspx se abrirá en un cuadro de diálogo (iframe) o abrirá en una nueva página.
Aquí es cómo abordar este problema en mi biblioteca de hechizos: no paso la identificación en la URL, sino que en su lugar ejecuto un script en NewForm.aspx que sigue estos pasos:
- Cuando se abre la nueva forma, marque la ventana principal
- Si el padre existe (diálogo), entonces la identificación se incluye en Window.Parent.Location.Href
- Si el padre no existe (nueva página), compruebe la ventana.referrer
NOTA: En la práctica, la página NewForm.aspx podría abrirse de más de una pantalla.Por lo tanto, es posible que necesite algo más sofisticado que simplemente dividir en
ID=
.
Otros consejos
Puede analizar el parámetro de ID desde la cadena de consulta en Dispole.aspx, una vez que tenga el valor de id, puede actualizar "Agregar nuevo elemento" enlace y pasar la identificación de DIFFORM.ASPX.
Consulte Parse la cadena de consulta de JavaScript para analizar la URL y obtener valor deCadena de consulta.