@keyCrumbs Non ti darò una risposta diretta, ma qualcosa da analizzare.
Uno dei problemi più grandi in cui si chiamano gli script per la visualizzazione parziale è la replica del codice.
Pensa che userai ajax per ottenere la vista parziale e continuerai a farlo per un po '. In ogni chiamata scaricherai il codice dello script e lo inserirai in html. Ogni volta che resetti il blocco di script in html, le funzioni vengono ripristinate, le variabili vengono ripristinate. Può essere un grosso problema a seconda del codice js.
Altro punto è la dimensione della risposta, si può dire, ma js ha una dimensione piccola, e dirò moltiplicare questa dimensione per ogni chiamata di un utente e successivamente moltiplicare per sempre utente connesso.
Così alla fine, una soluzione per voi, in questo caso è: creare la funzione nella pagina e chiamare la funzione nella vista parziale in questo modo:
tua pagina: Page.cshtml
<script type="text/javascript">
function myPartialView_Load() {
$("birth").datepicker();
$("phone").mask("000-0000");
}
</script>
<!-- Some other code here -->
<div>
<!-- Or you can call from a ajax or other way... -->
@Html.Action("MyActionPartialView")
</div>
vostra visione parziale: MyPartialView.cshtml
<script type="text/javascript">
$(function() { myPartialView_Load(); });
</script>
<form>
<input type="text" name="birth" id="birth" />
<input type="text" name="phone" id="phone" />
</form>
Quindi, come si vede ° Il problema non sta nel mettere in visione parziale, ma nel modo in cui lo fai tu. Tutte le regole di buona pratica hanno un "perché" dietro, se capisci il "perché" puoi determinare fino a che punto la regola è un aiuto e non un peso. E decidi di romperlo o no.
Come un detto, non ti ho dato una risposta definitiva ma qualcosa su cui ti interessa. È possibile utilizzare altri modi per delineare il problema.
fonte
2013-06-21 19:10:42
Se si sa che una vista utilizzerà una vista parziale, è sufficiente creare un file .js per quella vista parziale e importarlo nella vista. – Rob