Bene - sto usando ASP.NET MVC con jQuery. NON sto usando la vista parziale (ascx) per questa parte dell'applicazione, invece sto cantando full view, ma caricandole in div. Quindi ho una vista principale con una testa con qualche riferimento a un file js che è la logica lato client per questo "tipo" di vista. Quando si fa clic su una scheda in questa vista, utilizziamo le schede jquery per "caricare" un'altra vista in qualche div. Il modo in cui le schede vengono caricate usando questo plugin è semplicemente dando un url (piuttosto che usare un carico a cui - come sottolineato - potrei aggiungere una funzione di richiamata piuttosto che contare su pronto).
Tuttavia. Non voglio TUTTA la logica del client per essere in una vista genitore, come ogni vista dovrebbe essere in grado di caricare un'altra vista per URL (le viste secondarie includono un collegamento al loro file js correlato che contiene tutta la logica per formattare/collegamento quando caricato).
Ciò che è DAVVERO confuso per me ora è che sembra funzionare in alcune situazioni e non in altre; per esempio 1) quando la vista genitore è aperta in un frame in IE, le letture della vista secondaria non vengono mai attivate 2) quando si apre lo stesso url direttamente in IE, le letture delle viste secondarie vengono attivate 3) quando si apre lo stesso URL in FFX2 il pronti tutti NON sono attivati 4) finalmente ..ma quando si apre una vista secondaria (che ha viste secondarie) di questo genitore in FFX2, l'evento pronto per il bambino SONO innescato! .. sconcertante ..
Sto per eseguire alcuni test e tornare a voi, ma qualsiasi suggerimenti sul perché questo comportamento potrebbe essere diverso sarebbe molto apprezzato
AGGIORNAMENTO: Ah ah! .. sembra che anche con gli ostacoli sopra cancellati, c'è una differenza di browser (ovviamente dalla lettura sopra) .. il semplice test di seguito funziona bene in IE7 ma fallisce in FFX2. L'evento pronto viene attivato in IE ma non in FFX quando si carica Test2.htm in Test1.htm. Dall'esperienza so che questo significa che IE ha una "stranezza" e FFX funziona come ci si aspetterebbe basato sul W3C. Quindi sembra che questo approccio è un no, a meno che qualcuno ha qualche suggerimento ?:
Prova1.htm
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org /TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title></title>
<script type="text/javascript" language="javascript" src="Scripts/jquery-1.3.2.js"> </script>
<script type="text/javascript" language="javascript">
<!--
$(document).ready(function() {
alert("Test1.htm");
$("#Test1").load("Test2.htm");
});
//-->
</script>
</head>
<body>
<h3>SOME TEST</h3>
<div id="Test1">EMPTY</div>
</body>
</html>
Prova2.htm
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org /TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title></title>
<script type="text/javascript" language="javascript" src="Scripts/jquery-1.3.2.js"> </script>
<script type="text/javascript" language="javascript">
<!--
$(document).ready(function() {
alert("Test2.htm");
//$("#Test1").load("Test3.htm"); // load more
});
//-->
</script>
</head>
<body>
<h3>SOME TEST</h3>
<div id="Test2">EMPTY</div>
</body>
</html>
fonte
2009-12-10 09:49:04
Questo è per MS Ajax, jQuery non, ea giudicare dal 'PageRequestManager' sono abbastanza sicuro che vale solo per ASP.NET WebForms. – Aaronaught
Capito, ma se si guardano le risposte fornite dal signor AH, afferma che sta usando ASP.NET. Ho fornito un modo per colmare il divario da un caricamento parziale della pagina .NET per attivare qualsiasi funzione JS volesse licenziare (evento jQuery ready o altro). –