¿Cómo se configura el marco de destino para el envío de formularios en ASP.NET?
Pregunta
Tengo una página asp.net en un iframe donde todos los enlaces de destino _blank
<base target="_blank" />
Pero quiero que la forma en que presentara a _self (es decir, el marco flotante donde se encuentra la página) cuando se hace clic en el botón de uno. La forma es un <asp:Panel>
con un control <asp:Button>
para la presentación de la misma.
¿Dónde puedo establecer la meta de esta forma? Dado que no hay una etiqueta o una etiqueta <form>
<input>
en el archivo (ASP.NET les hace cuando se procesa la página), no sé cómo cambiar el objetivo de anular mi etiqueta de <base>
.
Solución 2
este post en los foros de ASP.NET mediante < a href = "http://forums.asp.net/members/mokeefe.aspx" rel = "nofollow noreferrer"> mokeefe que cambia la diana mediante javascript.
acabo de poner en mi página y probé. Tenía que hacer estas modificaciones:
1. Estoy usando etiquetas ASP solamente, así que tengo <asp:Button>
no <input type="button">
y mi onclick tiene que ser el método del lado del servidor que estoy llamando a la presentación . Por lo tanto pongo esta nueva Javascript en OnClientClick
<asp:Button ID="cmdEmailSearch" runat="server" Text="Search"
OnClick="cmdEmailSearch_Click"
OnClientClick="javascript:pageSubmit()"/>
2. Quité el myForm.submit () desde ASP.NET representa la página poniendo los WebForm_DoPostBackWithOptions () javascript en el botón onclick justo después de que pone mi pageSubmit ()
<script type="text/javascript">
function pageSubmit(){
// where form1 is the Parent Form Id
var myForm = document.getElementById('form1');
myForm.target = '_self';
}// end function
</script>
Otros consejos
No estoy seguro de si he entendido bien, pero se puede establecer el destino en la etiqueta de formulario, como esto:
<form method=post action="Page.aspx" target="_self">