0

ASP を使用してデータベース駆動型の Web サイトをいくつか構築しましたが、基本的な機能を ASP.NET アーキテクチャに移行しようとしています。

ナビゲーション ツリー内の各リンクを、さまざまな要求を介してユーザーにステップ実行し、データベース主導の順次応答と可能なフォローアップの質問を提供するさまざまな機能に対応させたいと考えています。通常、ASP でこれを行うには、クエリ文字列を使用して SSI ファイル内のコードのさまざまな部分を実行します。私のナビゲーション ツリーの各リンクは、基本的に異なる SSI ファイルを呼び出します。

ASP.NET では、Web フォームの基本、データ バインディング、サイト ナビゲーション ツール、およびマスター ページについてはかなりよく理解できていると思いますが、全体的な設計図には問題があります。

各リンクでユーザーを別のページにリダイレクトしたいですか? 私の理解では、ASP.NET は状態情報の維持に優れているため、クエリ文字列に依存して値を SSI ファイルに渡し続け、各タスクの順次部分を実行する必要はありません。

これを行うために BLL と DAL を使用する必要がありますか? また、ストアド プロシージャとマネージ コードを使用する必要がありますか? それとも、Web フォームではなく、ASP.NET Web ページでこの種のことをもっと簡単に行うことができるでしょうか?

参考記事や Web の例を含むフィードバックをいただければ幸いです。ありがとう!

4

3 に答える 3

1

必ずしも考え方全体を放棄してASP.NETWebフォームを使用する必要はありません。

2001年にリリースされて以来、ASP.NET Webフォームを使用してサイトを作成しています。しかし、ASP.NETMVCの方が移行が簡単だと思います。つまり、MVCではWebフォームよりも難しいことがいくつかあります。しかし、全体として、MVCはよりWebフレンドリーなプラクティスを促進し、それが私が今好んでいるものです。

たとえば、Webフォームのポストバックとビューステートの全体像は確かに多くのことを容易にします。しかし、SEOを傷つけたり、戻るボタンを壊したりするという問題もあります。MVCはこれに依存せず、フォームの投稿、リダイレクト、およびURLの処理方法を使用してユーザーエクスペリエンスを改善する方が簡単です。

しばらく前にMVCとWebフォームを比較する記事を書きました... http://swortham.blogspot.com/2009/10/when-to-use-aspnet-web-forms-and-when.html

于 2012-05-18T21:44:06.590 に答える
0

MVCとWebフォームに関する記事は非常に興味深いものでしたが、いくつかのトレーニングビデオを見て、コーディングがASPとはかなり異なるという印象を受けました。(私が見ている例のほとんどはC#に関係していますが、VBでいくつか見たことがあります。これは、すでに多くの新しいことを短時間で学んでいるので好ましいです。)また、MVCで使用できるかどうか疑問に思います。検証ツール。これは、いくつかの異なる非常に長い形式を含むこのプロジェクトの異なる側面で非常に必要になります。ASP.NETの学習にかなりの時間を費やしてきたことを考えると、1マイル(または2マイル)進んでビジネスオブジェクト(BLL)とデータレイヤー(DAL)を作成する方法を学ぶべきかどうか疑問に思っています。 )。

于 2012-05-21T19:40:46.623 に答える
0

私が見ているものに基づくと、複数のASPページ間でウィザードスタイルのナビゲーションがあり、ASP.NET(MVCではなくWebForms)サイトでウィザードスタイルのナビゲーションが必要なようです。

これを誤解している場合は、喜んでこの回答を削除します。

ウィザードコントロールビデオデモはどこでも利用可能)をお勧めします。これにより、このようなインターフェイスが1ページに表示され、複雑さが大幅に軽減されます。ページ間で変数を追跡する必要はありません。すべてが1つのページにあるため、いつでもアクセスできます。

ウィザードページには多くのコードとマークアップが含まれる傾向がありますが、トレードオフは、すべてのウィザード機能が1つのペースであり、ファイル全体に分散していないことです。また、各ステップで何が起こっているかは本質的に明らかです。複数ファイルのアプローチでは、保守開発者は、どのページがどのページに投稿されたかを追跡し、設計の理解により多くの時間を費やす必要があります。

于 2012-05-18T21:44:13.600 に答える