2011-03-05 41 views

Respuesta

6

Envuelva su formulario en un <asp:Panel> y cree otro <asp:Panel> con Visible="False" para su mensaje de Gracias. Una vez que se envía el formulario, cambie la visibilidad de cada panel, establezca el formulario en Visible="False" y el panel de mensajes de agradecimiento en Visible="True".

esperanza que tiene sentido, He aquí un ejemplo:

<asp:Panel ID="pnlFormFields" runat="server"> 
    ... form fields here ... 
</asp:Panel> 

<asp:Panel ID="pnlThankYouMessage" runat="server" Visible="False"> 
    ... Thank you message here ... 
</asp:Panel> 

A continuación, dentro de su código subyacente

protected void btnSubmit_Click(object sender, EventArgs e) { 
    // Hook up uploaded image and assign link to it 
    pnlFormFields.Visible = false; 
    pnlThankYouMessage.Visible = true; 
} 
2

Si necesita etiqueta para mostrar el mensaje. Añadir una etiqueta en la página y establezca su atributo visible = false en aspx y utilizar el código de abajo:

protected void btnSubmit_Click(object sender, EventArgs e) { 
    if(SaveRecordsToDataDatabase()) 
    { 
     If(UploadImage()) 
     { 

      showMessage("Save successfull",true); 
     } 
     else 
     { 
      showMessage("Save failed",false); 
     } 
    } 
    else 
     { 
      showMessage("Save failed",false); 
     } 
} 

private bool UploadImage() 
{ 
    // you upload image code.. 
} 

private bool SaveRecordsToDatabase() 
{ 
    // db save code 
} 

private void showMessage(string message, bool success) 
{ 
    lblMsg.visible = true; // here lblMsg is asp label control on your aspx page. 
    lblMsg.FontBold = true; 
    if(success) 
     lblMsg.ForeColor = Color.Green; 
    else 
     lblMsg.ForeColor = Color.Green; 
    lblMsg.Text = message; 
} 

Para mantener la coherencia se puede utilizar en el código de transacción a fin de evitar la operación de guardar si falla la carga de imágenes. De lo contrario, es su elección. El nuevo código de transacción será, da a continuación:

protected void btnSubmit_Click(object sender, EventArgs e) { 

using(TransactionScope scope = new TransactionScope()) 
{ 
     if(SaveRecordsToDataDatabase()) 
     { 
      If(UploadImage()) 
      { 

       showMessage("Save successfull",true); 
      } 
      else 
      { 
       showMessage("Save failed",false); 
      } 
     } 
     else 
      { 
       showMessage("Save failed",false); 
      } 
    } 
    scope.complete() 
} 

aquí para referirse ámbito de transacción, añadir System.Transactions de referencia.

0

Si desea mostrar el mensaje en los controles del lado del cliente, como alerta ("saccess"); puede usar ajax y webmethod en Why doesn't my jQuery code work in Firefox and Chrome? si desea mostrar un mensaje en el lado del servidor puede usar panel, etiqueta o div (servidor runat y tiene id) y la configuración predeterminada de ellos, establezca falseable falseable, cuando muestre mensaje puede establecer visible verdadero a través del código detrás ..

0

use una etiqueta (visible = falso) y un hipervínculo de la caja de herramientas .cuando suba una imagen, debe insertar la url de la ubicación savefile en una base de datos.so cuando esa consulta de inserción se dispara que devolverá un valor entero que es d no de líneas insertadas en db.compare it como si ese valor> 0 luego establece la visibilidad de la etiqueta en true y label.text = "success" finalmente establece la URL de navegación del hipervínculo a d url de la imagen guardada que se puede usar para crear un enlace de visualización de la imagen

Cuestiones relacionadas