5

Sicuramente il fatto che vengano dichiarati a partire da "< asp:" è sufficiente per dedurre che sono controlli del server? O è solo incluso per completezza (quindi sono simili alla dichiarazione di controllo server di < input runat = "server" per esempio). O c'è qualche motivo speciale?Perché le dichiarazioni di controllo server ASP.Net richiedono l'attributo runat = "server"?

Mi dà sempre fastidio che il compilatore mi dica che mi sono perso quando lo faccio accidentalmente. Un po 'come il pensiero dietro "var" - se il compilatore sa cosa sia .. perché preoccuparsi di aspettarmi che lo dichiari?

+0

Check it http://stackoverflow.com/questions/304290/asp-net-why-runatserver – Kaz

risposta

8

Tratto da this forum thread:

Internet Explorer supporta DHTML comportamenti.

[L'asp: sintassi del controllo] non indica il controllo del server . È possibile creare un componente DHTML client con spazio dei nomi e eseguirà sul computer client. Inoltre, gli spazi dei nomi sono consentiti in XHTML e tecnicamente è possibile utilizzare asp namespace per qualcos'altro su un client, se si desidera . Runat = "server" impedisce lo scontro con lo spazio dei nomi . Se l'elemento non ha attributo runat = "server", sarà inviato al browser client invariato. Pertanto, è possibile utilizzare anche i componenti HTML (HTC) nelle pagine ASP.NET.

Date un'occhiata qui

http://msdn.microsoft.com/workshop/author/behaviors/howto/creating.asp http://msdn.microsoft.com/workshop/author/behaviors/overview.asp

Mike Schinkel anche has a blog post esplorare il motivo del server runat = è necessario.

+0

Avrei chiuso la mia domanda come duplicata (vedi anche sotto) ma non me lo consente. Qualche idea? – Ray

Problemi correlati