Domanda

Qual è la differenza di funzionalità tra

<asp:Button id="button1" Text="Click me" runat="server" OnClick="submitEvent" />

e

<input type="button" id="button1" runat="server" value="Click me" />

Fa l'input con attributo runat = "server" ha altre o limitate proprietà e metodi?

Grazie!

È stato utile?

Soluzione

Il primo crea un System.Web.UI.WebControls.Button mentre il secondo crea un System.Web.UI.HtmlControls.HtmlInputButton.

Entrambi sono controlli server, ma i controlli nello spazio dei nomi WebControls ha generalmente un po 'più funzionalità rispetto ai controlli nello spazio dei nomi HtmlControls. In genere hanno messo alcuni dati in ViewState per tenere traccia del loro stato, e hanno gli eventi di postback lato server.

Ogni controlli nello spazio dei nomi HtmlControls corrispondono esattamente a un elemento HTML, mentre i controlli nello spazio dei nomi WebControls possono essere resi in modo diverso a seconda di ciò che il browser che richiede la pagina in grado di supportare.

Altri suggerimenti

Il pulsante rappresentato da <asp:Button runat="server".../> verrà convertito in un controllo server Web con un ricco modello di stato e diverse proprietà e metodi che ha rappresentazione più chiara nel mondo reale come Button.Text = "Click Me".

Il pulsante rappresentato da <input type="button" runat="server"..../> verrà convertito in controllo server HTML rappresentato da HtmlInputButton; con ha limitato proprietà, metodi ed eventi. La maggior parte delle proprietà assomigliano gli equivalenti HTML come Button.Value = "Click Me".

Si noti che gli elementi in una pagina markup sono pre-elaborati / compilati prima di essere utilizzato e saranno convertiti in una rappresentazione classe in cui ogni elemento è rappresentato da un controllo. È possibile accedere ai controlli lato server che sono identificati dal runat = tag "server" dal codice dietro dal momento che avranno il controllo corretto abbinamento del server (web / html), altri contenuti statici tra cui un tag <input type="button.../> con il runat = "server "sarà rappresentato come un LiteralControl.

La prima linea è ASP.NET, quest'ultimo semplice XHTML.

L'ex ottiene analizzato e interpretato sul lato server, dopo di che viene generato il codice HTML, che più o meno corrisponde al secondo esempio. Il pulsante ASP.NET è davvero poco più di involucro luce sulle funzionalità del pulsante di ingresso th HTML, e dovrebbe essere usato ovunque sia necessario per gestire l'evento Click sul lato server (o nel caso generale tutti gli eventi), e di solito è il modo in cui andare, dal momento che si sta lasciando ASP.NET astratto l'idea di un tasto sulla tua pagina per voi.

funzionalità di entrambi i controlli è lo stesso con la differenza che prima è Controllo NET e seconda è controllo html che può essere fatto servercontrol utilizzando

runat = "server".

e primo è ricco di evants e metods THN il secondo ....

Non ci sono eventi server associati con tali controlli, ma è possibile utilizzarlo in codebehind di cambiare le sue proprietà.

La seconda opzione non sarà probabilmente anche il lavoro. runat = "server" sarà reso direttamente all'uscita HTML dove avrà alcuna funzionalità e si rompe solo la convalida HTML.

ingresso è un elemento HTML che ha solo proprietà HTML, e sicuramente esistono metodi di alcun tipo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top