21

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

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

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

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

4

5 に答える 5

20

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

必要に応じて、ASPXページをビューに関連付け、ASPX.CSをコントローラーアクションメソッドに関連付けます。

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

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

MVCにViewStateがありません:)

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

ASP.NET MVCの初心者レベルのチュートリアルを調べて、アプリの構築を段階的に開始することをお勧めします。問題が発生した場合は、関連する詳細を含む(新しい)質問を投稿してください。

頑張って、MVCの素晴らしい世界へようこそ。:)

于 2012-11-01T17:52:43.003 に答える
2

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

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

于 2012-11-01T17:52:07.567 に答える
2

ASP.NETでウィキペディアのドキュメントをチェックアウトします。http://en.wikipedia.org/wiki/ASP.NET

それは述べています:

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

.csファイル名.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はコーディング/保守と使用がはるかに簡単であることがわかりました。

于 2012-11-01T17:58:13.427 に答える
1

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

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

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

于 2012-11-01T17:54:13.303 に答える
0

.aspxはマークアップファイルです。HTML、CSS、JavaScript、ASPマークアップなどが含まれています。この.csファイルは分離コードファイルと呼ばれます。これは、利用できない可能性のあることや、スクリプト言語での作業に慣れていないことを行う場所です。通常、aspxはクライアント側で実行され、コードビハインドはサーバーで実行されます。

于 2012-11-01T17:53:37.637 に答える