Asp.net MVC 4 & tag @

venerdì 03 gennaio 2014 - 10.58
Tag Elenco Tags  VB.NET  |  .NET 4.0  |  Visual Studio 2010

totti240282 Profilo | Guru

Buongiorno e buon anno.

Perchè se uso il tag form o beginform , poi devo usare il tag text al suo interno ?

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra
C'è solo un capitano !!!!!!

0v3rCl0ck Profilo | Guru

ciao capitano, buon anno nuovo anche a te!

quel tag è semplicemente un tag speciale del view engine razor, che ti permette di fare interpretare a razor che quel codice che segue è da stampare come html e non da interpretare come codice. Di default quando un blocco di html è contenuto dentro ad un tag padre non c'è bisogno del tag esplicito <text>:

@if (1 == 1) { <p> Ciao capitano! Ciao capitano oggi sono le @DateTime.Now! Ciao capitano! </p> }

altrimenti se non hai un tag che racchiude altre righe devi specificare il tag @: per ogni singola riga, oppure wrappare il tutto dentro al tab <text>:

@if (1 == 1) { @: Ciao @: Ciao @: Ciao }

@if (1 == 1) { <text> Ciao Ciao Ciao </text> }

in questo articolo di scott è spiegato particolarmente bene:

http://weblogs.asp.net/scottgu/archive/2010/12/15/asp-net-mvc-3-razor-s-and-lt-text-gt-syntax.aspx


ciao!
Michael Denny
Software Developer & Architect
http://blogs.dotnethell.it/Regulator/
http://dennymichael.wordpress.com
Twitter: @dennymic

totti240282 Profilo | Guru

Quindi nel mio caso si usa perchè all'interno della form c'è <div class="col-md-10"> ?

Grazie.
C'è solo un capitano !!!!!!

0v3rCl0ck Profilo | Guru

>Quindi nel mio caso si usa perchè all'interno della form c'è
><div class="col-md-10"> ?

in realtà si usa perchè non hai un altro tag che racchiuda tutti gli altri, o meglio razor deve capire da dove inizia il contenuto, e come regola si sono dati che se dopo delle istruzioni esiste un tag html, esso e tutti i suoi figli devono essere trattati come contenuto, altrimenti razor si aspetta altre righe di codice.

Questi sono gli altri modi in cui potresti scrivere lo stesso tuo codice:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Tra l'altro ho notato che in vbhtml devi aggiungere la @ comunque per indicare l'intenzione di iniziare il contenuto, questo credo sia dovuto dal fatto che c# ha le graffe { } come delimitatori espliciti di fine riga e probabilmente in vb con razor non hanno voluto rifarsi sul ritorno a capo di vb.

Inoltre mi sono dimenticato di dirti che ad ogni modo il tag <text> non viene mai renderizzato nella pagina html, è assolutamente solo un tag di "servizio" di razor.


Ciao
Michael Denny
Software Developer & Architect
http://blogs.dotnethell.it/Regulator/
http://dennymichael.wordpress.com
Twitter: @dennymic
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5