2011-08-05 6 views
7

no soy capaz de entender lo que es el uso de it.RegisterClientScriptBlock/RegisterStartupScriptEl uso de RegisterClientScriptBlock/RegisterStartupScript en asp.net 3.5

cuando direclty de podemos escribir el código javascrpt in.js archivo y lo llaman en el botón

ex: 2

<script> 
    function ReqField1Validator() { 
     if (document.forms[0].txtField1.value == '') { 
      alert('TextBox cannot be empty') 
      return false 
     } 
     return true 
    } 
</script> 

btnPostback.Attributes.Add("onclick","return ReqField1Validator()"); 

lo que será el uso de RegisterClientScriptBlock/RegisterStartupScript?

protected void btnPostback_Click(object sender, EventArgs e) { 
    System.Text.StringBuilder sb = new System.Text.StringBuilder(); 
    sb.Append(@"<script language='javascript'>"); 
    sb.Append(@"var lbl = document.getElementById('lblDisplayDate');"); 
    sb.Append(@"lbl.style.color='red';"); 
    sb.Append(@"</script>"); 

    if (!ClientScript.IsStartupScriptRegistered("JSScript")){ 
     ClientScript.RegisterStartupScript(this.GetType(), "JSScript", sb.ToString()); 
    } 
} 

leer algunos artículos pero no eran claras

alguna idea sobre esto sería grande

Gracias Príncipe

Respuesta

4

RegisterStartupScript se utiliza para registrar y ejecutar javascript funciones una vez que la página terminada cargando, este código javascript se ejecuta antes de que se produzca el evento onLoad de la página. Puede usarlo por varias razones, por ejemplo, si desea ejecutar cualquier función javascript en particular dependiendo de algún valor de variable en su código.

Por otro lado, RegisterClientScriptBlock se usa para agregar un bloque de scripts en la parte superior de la página, de manera similar le proporciona una forma de trabajar con el código del lado del cliente y el código del servidor en su código.

0

Con el tiempo, puede encontrarse con situaciones en las que tendrá que llamar a una función en JavaScript dependiendo de algunas variantes en su código.

Un ejemplo muy común sería manejar mensajes de excepción y luego mostrarlos de una manera elegante usando JavaScript.

Es posible que desee capturar una excepción de esta manera:

public void TrySomethingAwesome(){ 
    try 
    { 
     //try to do something awesome 
    } 
    catch (Exception ex) 
    { 
     ScriptManager.RegisterStartupScript(Page, typeof(Page), "showError", 
      string.Format("ShowError({0});", "Oops! Something went wrong :("), true); 
    } 
} 

Y de esa manera su código JavaScript puede asumir el control y mostrar el mensaje en una forma elegante: D

Cuestiones relacionadas