2010-02-16 13 views

Odpowiedz

0

Użyj AJAX, z obsługą zdarzeń dla onComplete.

2

Impreza onsubmit na tagu formularza

Przy użyciu jQuery to jak to

$("#yourformtagid").submit(function() { 
... 
} 
+0

JQuery? Nie jestem pewien, czy OP chce użyć kompletnej platformy tylko po to, by wykonać swoje zadanie;) –

+2

Ale każda strona powinna mieć jQuery na wszelki wypadek :-) – TFD

+1

koleś, to nie było fajne. –

3

Można dodać JavaScript w swojej stronie obciążenia jak to ...

Page.ClientScript.RegisterStartupScript(this.GetType(), "alert", 
    "alert('hello world');", true); 

OR

Page.ClientScript.RegisterStartupScript(this.GetType(), "alertScript", 
    "function Hello() { alert('hello world'); }", true); 
-1

Nie ma zdarzenie javascript wyzwalane, gdy strona ładuje się po odświeżenie strony, ale można dodać javascript do szablonu HTML (.aspx pliku) i uruchomić go tylko wtedy, gdy strona została wysłana, tak:

<script type='text/javascript'> 
    var isPostBack = '<%= this.IsPostBack%>' == 'True'; 
    if (isPostBack) { 
     alert('It's a PostBack!'); 
    } 
</script> 

Jeśli chcesz dostosować JavaScript, aby funkcjonować tylko w szczególnych warunkach (nie byle odświeżenie strony), można utworzyć zmienną na poziomie strony (chronione lub publiczne) w klasie Twojej strony i zrobić coś podobnego:

var userClickedSubmit = '<%= this.UserClickedSubmit%>' == 'True'; 
if (userClickedSubmit) { 
    // Do something in javascript 
} 

(Nic przeciwko ClientScript.RegisterStartupScript, co jest w porządku - czasami chcesz zachować swój javascript w szablonie strony, więc metimes, które chcesz zachować w swojej klasie strony.)

1

Obiekt Page.ClientScript ma RegisterOnSubmitStatement Jest uruchamiany po każdym wprowadzeniu formularza. Może to być lub nie jest to, czego szukasz, ale użyłem go do powiadomienia użytkownika o niezapisanych zmianach w edytowalnych formularzach.

Zaletą korzystania z tego przez RegisterStartupScript jest to, że z RegisterOnSubmitStatement, jeśli użytkownik nawiguje z dala iz powrotem za pomocą przeglądarki, cokolwiek skrypt wstrzyknięty przy użyciu RegisterStartupScript mógłby ponownie wystrzelić, natomiast RegisterOnSubmitStatement będzie działał tylko wtedy, gdy użytkownik przesłał forma.

+0

Dzięki, spróbuję tego podejścia! – Bruno

2

ja nie wiem, czy trzeba jeszcze, ale spójrz na to:

Run javascript function after Postback

mi rozwiązać mój problem za pomocą tego:

<script type="text/javascript"> 
var prm = Sys.WebForms.PageRequestManager.getInstance(); 
prm.add_endRequest(function (s, e) { 
    alert('Postback!'); 
}); 

istnieją wiele opcji, takich jak

$('#id').live('change', function(){}); 

$(document).ready(function() {}); 
ClientScriptManager.RegisterStartupScript(this.GetType(), "AKey", "MyFunction();", true); 

i kontynuuj. zależy od tego, czego potrzebujesz.

Pozdrowienia =)

4

Wierzę, czego szukasz jest Sys.WebForms.PageRequestManager beginRequest Event

Fragment:

Impreza beginRequest jest podniesione przed rozpatrywaniem asynchronicznych startów odświeżenie i odświeżenie jest wysyłane na serwer. Możesz użyć tego zdarzenia, aby wywołać skrypt niestandardowy, aby ustawić nagłówek żądania lub uruchomić animację, która powiadamia użytkownika, że ​​przetwarzanie jest odświeżone o .

Przykładowy kod: (z linku)

<script type="text/javascript" language="javascript"> 
    Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler); 
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler); 
    function BeginRequestHandler(sender, args) 
    { 
     var elem = args.get_postBackElement(); 
     ActivateAlertDiv('visible', 'AlertDiv', elem.value + ' processing...'); 
    } 
    function EndRequestHandler(sender, args) 
    { 
     ActivateAlertDiv('hidden', 'AlertDiv', ''); 
    } 
    function ActivateAlertDiv(visstring, elem, msg) 
    { 
     var adiv = $get(elem); 
     adiv.style.visibility = visstring; 
     adiv.innerHTML = msg;      
    } 
</script> 

Mam nadzieję, że pomaga. Klasa PageRequestManager wydaje się być mało znana i mało używana.

Powiązane problemy