web-dev-qa-db-ja.com

.aspxと.aspx.csの違いは何ですか?

プログラミングは初めてではありませんが、Visual Studio、MVC、C#、ASP.NET、EXT.NET、つまり使用しようとしているすべてのツールは初めてです。

Ext.Net 2.0 MVC4プロジェクトを作成しようとしていますが、同様の(機能的に)非MVCプロジェクトが参照用に提供されました。

この非MVCプロジェクトには.aspxファイルと.aspx.csファイルがあることがわかります。 .aspxファイルは基本的に、作成したいMVCの「ビュー」にマップされるようです...そして、.aspx.csファイルには.aspxファイルに関連する機能があります。 ? .aspxファイルには、完全にビューに関連していないように見える機能もいくつかありますが...

誰かが私に簡単な概要やこれから始める場所を教えてもらえますか?

16
Kalina

通常、ASPXファイルにはUIがあり、通常はHTMLタグ、ASP.NETサーバーコントロールの埋め込みコード(最終的にはHTMLマークアップを生成します)があります。 ASPX.CSファイル(通常は分離コードと呼ばれます)は、C#でサーバー側のコーディングを行います。

必要に応じて、ASPXページをViewに関連付け、ASPX.CSをControllerアクションメソッドに関連付けます。

Webフォームでは、HTMLをレンダリングするためにASPXファイルで使用するASP.NETコントロールがあることを覚えておく必要があります。たとえば、TextBox、DataGridなどです。MVCには、サーバーコントロールと呼ばれるものはありません。ビューは、純粋な手書きHTMLになります。

必要に応じて、MVCとWebフォームを組み合わせたハイブリッドプロジェクトを作成できます。スコットにはそれについて説明する投稿があります ここ

MVCにViewStateはありません:)

ASP.NET WebformからMVCに切り替える場合、理解しなければならない重要なことの1つは、MVCアーキテクチャがHTTPがステートレスであるという真実に固執しようとすることです。 MVCで利用可能なviewstateはありません。そのため、必要に応じて、すべてのHTTPリクエストにデータを再入力することを確認する必要があります。通常、MVCでDropDownlistを読み込む際に問題が発生します。多くの answers ここでSOポストバックでドロップダウンリストを処理する方法について(フォームが投稿されるとき)。

ASP.NET MVCで初心者レベルの tutorials を調べ、順を追ってアプリの構築を開始することをお勧めします。問題が発生した場合は、(new)関連する詳細を含む質問。

MVCの素晴らしい世界へようこそ。 :)

18
Shyju

MVCプロジェクトではなく、WebFormsプロジェクトを作成したようです。

* .aspxファイルはマークアップで、*。aspx.csファイルは分離コードファイルです。分離コードファイルは、*。aspxファイル内のサーバー側コントロールの.NETコードを処理します。

2
Justin Niessner

ASP.NETでウィキペディアのドキュメントを確認してください http://en.wikipedia.org/wiki/ASP.NET

状態:

Webフォームは、拡張子が「.aspx」のファイルに含まれています。これらのファイルには通常、静的(X)HTMLマークアップと、開発者がWebページのすべてのrcコンテンツを配置するサーバー側Webコントロールとユーザーコントロールを定義するマークアップが含まれます。さらに、サーバーで実行される動的コードは、ブロック<%-dynamic code-%>内のページに配置できます。これは、PHP、JSP、ASPなどの他のWeb開発テクノロジーに似ています。 ASP.NET Framework 2.0により、Microsoftは静的コードを.aspxページに残し、動的コードを.aspx.vbまたは.aspx.csまたは.aspx.fsファイル(依存する使用するプログラミング言語で)。

.aspファイル名.aspx.csは、.aspxに伴うコードビハインドであり、通常、html、css、javascript、およびその他のクライアント側コントロールを保持します。

一般に、動的コード(この場合はファイル名に.csがあるためC#)は、動的コードと静的htmlを分離するための「良い方法」として.csファイルに追加されます。この抽象化のもう1つの理由は、.aspx.csコードがサーバー側で実行され、.aspxファイルがサーバーでコンパイルされてから、それを要求するWebクライアントに提供されることです。

さらに、MVCの場合、別のビューモデル、特にRazorを使用することをお勧めします。Razorでは、.aspx.csおよび.aspxの代わりに.cshtmlファイルを使用します。 MVCが変更された理由は、MVCパターンを使用してMVCパターンを抽象化し、.aspxおよび.aspxcsが必要に応じていないためです。個人的な経験から、MVCではRazorとWebforms(.aspx/.aspx.cs)の両方のビューモデルを使用しましたが、Razorはコード化/保守および使用がはるかに簡単であることがわかりました。

2
Ben Hoffman

Aspxファイルにはページマークアップが含まれています。 ASP.NETによって自動的にコードに変換されます。

Csファイルには、ページの背後にあるコード(初期化、イベントハンドラーなど)が含まれています。そのコードを自分で作成する必要があります。

これらの2つのファイルは継承に関連しており、@ PageディレクティブのInherits属性はページマークアップをコードビハインドに関連付けます

.aspxはマークアップファイルです。 HTML、CSS、JavaScript、およびASPマークアップ。この.csファイルは分離コードファイルと呼ばれます。通常、aspxはクライアント側で実行され、コードビハインドはサーバーで実行されます。

0
Antarr Byrd