問題タブ [asp.net-mvc-2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net-mvc-2 - 強く型付けされたビューページの問題を使用したMVC2のオブジェクトモデルタイプ
MVC2ソースコードに対して実行されている新しい変換されたMVC2プロジェクトがあります。私は同じ解決策でこの会話を2回行いました。
私はサイトのすべてのページで強く型付けされたビューを使用していますが、これまでのところ、ソースに対して実行されたり、強く型付けされたビューで開発されたりする問題はありません。
現在、特に1つの強く型付けされたビューでは、ジェネリックパラメーターはそのページのModelプロパティに反映されていません。
タイプTIのモデルを使用する代わりに、常にタイプオブジェクトのモデルを使用します。
動作しないページのコード:
ビューモデル:
ここで何が起こっているのか分かりません。
ビューの追加ウィザードを使用して新しいビューを追加すると、すべてがうまく機能しますが、この既存のページでは、常にビューモデルタイプのオブジェクトを取得します。
ここで何が起こっているのか疑問に思って、これを回避できますか?
舞台裏で何かがキャッシュされていますか?私が欠けているものに興味があります。
この場合、コントローラーは新しいThingVingModel()を渡します。
c# - asp.net-mvc-2 でのページング
私は、Martijn Boland の優れたIPagedListを MVC1 用のページング メソッドとして使用して、しばらくの間、効果を上げています。MVC2の Haacked の Default Templated Viewsで使用しようとしたところ、問題が発生することがわかりました。
具体的には、次のように呼び出します。
共有インデックス ビュー内から、PagedList コレクションの適切な DisplayTemplate ビューの代わりに、ページャー オブジェクトがレンダリングされます。これは、DisplayTemplates と Model を一致させるためのメカニズムが崩れているためだと思います。
すでにこれに対する回避策に出くわした人はいますか?
asp.net-mvc - MVC 2-プレビューリリースは、リリース時にベータ版に簡単にアップグレードする必要がありますか?
それがリリースされたときに問題なくこれの上にベータをインストールすることができるべきですか?
VisualStudio環境内でどのように扱われるかわからない。VSの一種のプロジェクトだと思っているので大丈夫です。
誰でも明確にできますか?
MVC 2は、マンチェスターのカンファレンスでスコット・グーから聞いたものからかなり良いものになりそうです。最終リリースが待ちきれません:)
asp.net-mvc - プロジェクトの大幅な変更について
主要な設計変更を伴うプロジェクトをアップグレードするための最良の方法は何ですか...プロジェクトファイルに関して(私は推測します)?最近、自分の Web サイトを ASP.NET から ASP.NET MVC に移動しましたが、変更があまりにも大きく、完全に書き直す必要があることは明らかでした。現在、新しいフレームワークのより多くの機能を利用するために、MVC 2 に移行する準備をしています。また、基本的に別の完全な書き直しを行うように私を動かしているいくつかの障害に遭遇しています。もちろん、サイトは時間の経過とともにかなり大きくなったため、可能であればこれを避けたいと思います. しかし、前回の書き直しの際に設計上の決定事項をうまく文書化できたので、次の書き直しには数週間しかかかりませんでした。
現在のプロジェクトを破棄し、すべてを新しいテクノロジに移行する決定を下す必要があるのはいつですか? 新しいプロジェクト ファイルを作成する場合、古いプロジェクトから変更する必要のないものを移行するための最良の方法は何ですか?
.net - ASP.NET MVC 2.0Preview2で強く入力されたビューが機能しなくなった
強く型付けされたビューで機能しているASP.NETMVC1.0プロジェクトがありました。ASP.NET MVC 2.0 Preview 2にアップグレードすると、機能しなくなります。
Model
プロパティはObject
、要求されたタイプの代わりになりました。
私はこれを持っています:
私は得る
CS1579:「object」に「GetEnumerator」のパブリック定義が含まれていないため、foreachステートメントは「object」タイプの変数を操作できません
編集誰もがこれが機能しない理由を知っていますか?
templates - EditorFor<> を使用してドロップダウン リストをレンダリングする
これまでのところ、Html.EditorFor() を使用して、データ型に適切なテンプレートを動的にレンダリングできます。たとえば、string、int、または「Address」などのカスタム型です。
ここで、EditorFor() を使用して「親」フィールドをレンダリングしたいと考えています。すべての行を含むドロップダウンが必要で、ユーザーはこのドロップダウンから親を選択します。
「Parent」テンプレートは「ParentID」にアクセスできますが、リスト ボックスに入力する行の名前と ID についてはどうでしょうか。
これらはどこから来るべきですか?
テンプレートにデータ アクセス ロジックを入れることはできますが、それは関心の分離に違反することになります。
リストをレンダリングする HtmlHelper を作成することもできますが、HtmlHelpers はデータ アクセスではなく UI のみを実行する必要があるため、これによって懸念事項の分離が損なわれることはありませんか?
何か案は?
asp.net-mvc - ASP.NET MVC:データ注釈の検証は十分ですか?
ASP.NET MVC 2でデータ注釈検証を広範囲に使用しています。この新機能は、クライアント側の検証とサーバー側の検証の両方を1か所で定義できるようになったため、大幅な時間の節約になりました。ただし、詳細なテストを行っているときに、データアノテーションの検証のみに依存している場合、サーバー側の検証をバイパスするのは非常に簡単であることに気付きました。たとえば、プロパティに[Required]属性の注釈を付けて必須フィールドを定義し、その必須フィールドのテキストボックスをフォームに配置した場合、ユーザーはDOMからテキストボックスを削除するだけで済みます(Firebugを使用して簡単に実行できます)。これで、コントローラー内のModelBinding中に、そのプロパティでデータ注釈の検証がトリガーされなくなります。「必要な」検証がトリガーされることを確認するには、
検証に関する皆さんの推奨事項は何ですか?データ注釈の検証は十分ですか?または、すべての状況で検証がトリガーされるように、検証を繰り返す必要がありますか?
フォローアップコメント: 以下の回答に基づくと、モデルバインダーとデータアノテーションの検証だけに頼ることはできないようです。追加のサーバー側検証が必要であると結論付けているので、データアノテーションで定義されているものに基づいてサービスレイヤーが検証をトリガーする簡単な方法はありますか?これにより、両方の単語の長所が得られるようです...検証コードを繰り返す必要はありませんが、Model Binderがトリガーしなくても、検証が確実に実行されるようにします。
このフォローアップコメントは、元の質問とは異なる質問になるため、別の質問として投稿します。
asp.net-mvc - Asp.Net Mvc 2 再利用可能なパーツ?
Asp.Net MVC のモノレール ビュー コンポーネントに相当するものはあるのでしょうか。
私がやろうとしているのは、クラスに依存するいくつかの複雑な UI をレンダリングすることです。つまり、List ビューにいるとします。この ViewComponent に相当するオブジェクトを渡し、オブジェクトをパラメーターとして受け取り、複合体をレンダリングします。ビューで他のことをできるようにするUI。Asp.Net MVC でこれを行う最善の方法は何でしょうか?
これは複雑な UI であるため、一度記述することを好みます。そのため、保守性の問題が発生することを意味するため、テンプレートは実際に使用したい方法ではありません。
私が見たいくつかのオプション(そして私は試し始めようとしています)は次のとおりです。
- 将来の Html.RenderAction
- サブコントローラー
ただし、他に何かあるかどうか、またはこの特定のシナリオで一方が他方よりも優れているかどうかを知りたいです
asp.net-mvc - ASP.NET MVC:サービス層でデータ注釈の検証を実行する方法は?
ここで提起された最近の質問: ASP.NET MVC: Is Data Annotation Validation Enough?
...データ注釈の検証 (モデル バインダーによってトリガーされる) に依存するだけでは、検証が常に実行されることを保証するには不十分であると結論付けられました。サービス層 (または ModelBinding が発生した後の別の場所) に同じ検証ロジックを追加する必要があります。残念なことに、検証コードを複製することになります (1 回はデータ注釈で、もう 1 回はサービス層で)。データ注釈で定義されている内容に基づいて、サービス層が検証をトリガーする簡単な方法はありますか? これが可能であれば、両方の長所を活用できます...検証コードを繰り返す必要はありませんが、検証が常に実行されるようにします。