4

私は理解しようとしていhtmlますasp.net

Web プロジェクトの aspx ページに記述したコードがすべて html ではないようです (間違っている場合は訂正してください! )。むしろ、ユーザーが URL から html リクエストを行ったときに、一部の「ASP.Net」コンパイラによって実行されるコードです ( runat server「コンパイラ」のおかげで、などの非 html タグが理解されます<asp)。次に、「コンパイラ」はこのコードを使用して、その場で html ページを作成します。たとえば、これは a を に変換Buttoninputます。

これは本当ですか?もしそうなら、ユーザーコントロールとは何ですか?

4

3 に答える 3

4

ASP.NET には、サーバー側のコントロール (ボタン、ハイパーリンク、グリッドビューなど) があります。これらはすべて、C#/VB.NET コードで処理できるサーバー側イベント (Button1_OnClick) を生成します。

<asp:Button ID="btnCopyText" runat="server" /> // Calls the server side btnCopyText code

public void btnCopyText_Click(object sender, EventArgs e) {

}  

HTML には、クライアントのブラウザー (クライアント側) によってレンダリングされる独自のコントロールがあります。

 <button onclick="copyText()">Copy Text</button> // Calls the copyText() function (Client Side)

ASP.NET ボタンはサーバー側でレンダリングされ、標準の HTML ボタン (上図) としてクライアントに渡されます。

カスタム ユーザー コントロールは、プログラマによって作成される ASP.NET サーバー側コントロールであり、GridView やボタンなどの複数の ASP.NET サーバー側コントロールを含む場合があります。たとえば、ボタンをクリックすると、GridView にデータが再読み込みされます。これにより、ASP.NET 開発者は定型コードを記述する (同じコードを繰り返す) のではなく、1 つのカスタム コントロールを記述し、必要に応じてそれを再利用することができます。

http://msdn.microsoft.com/en-us/library/y6wb1a0e.aspx

于 2012-06-13T10:17:06.583 に答える
2

はい、すべてのasp.netコントロールはhtmlとしてレンダリングされますが、runatサーバーはサーバーコントロールであることを伝えます。

ユーザー コントロールは、ASP.NET Web ページのように機能する一種の複合コントロールです。既存の Web サーバー コントロールとマークアップをユーザー コントロールに追加し、コントロールのプロパティとメソッドを定義できます。その後、それらを ASP.NET Web ページに埋め込むことができ、そこでユニットとして機能します。

于 2012-06-13T10:19:16.283 に答える
1

asp.net は、html コードを迅速かつ簡単に生成するのに役立つプログラミング ツールです。最終的な目標は、スクリプト、画像、ajax 呼び出しなど、表示する必要がある残りのすべてのコンポーネントを含む完全な html ページです。

ユーザー コントロールは、html もレンダリングするオブジェクトのようなものですが、多くの異なるページや同じページで何度も使用できます。

たとえば、ユーザー コントロールは画像と製品の詳細をレンダリングできます。リピーター内で使用すると、データベースのすべての製品を 1 つのコントロールとループでレンダリングできます。

Web プロジェクトの aspx ページに記述したコードがすべて html であるとは限りません。

aspx ページに記述する内容は、実際には asp.net が解析して最終的な html ページをレンダリングするプログラミング コードです。Asp.net では、コード内に HTML やその他のテキストを含めることができ、asp.net の特別なタグと宣言を使用して、解析する必要がある部分を残りのテキストから分離します。

于 2012-06-13T10:16:17.363 に答える