問題タブ [asp.net-mvc-viewmodel]
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.
c# - ネストされたビューモデル リストをカスタム モデルバインダーにバインドするにはどうすればよいですか?
ビューモデルをネストされたビューモデルの動的リストにバインドしようとしています。ネストされた1つのビューモデルをバインドする方法を見つけました。しかし、それらのリストをバインドするにはどうすればよいでしょうか?
私のクラス:
私のモデルバインダー(これまでのところ):
前もって感謝します、
編集:
デフォルトのモデル バインダーとクライアント側の検証をオンにして、モデルを検証するのに 10 秒かかります。私のモデルはこれよりもかなり複雑ですが、そのほとんどを隠しました。カスタム モデル バインダーを使用すると、応答時間が改善される可能性があることを読みました。
c# - View Model のプロパティが HttpPost に設定されていません
私のビューモデルコード:
私のビューコード:
私のコントローラーコード:
私のビジネスロジッククラスのコード:
問題は、から送信するStep2View.cshtml
と、
が呼び出されていますが、のプロパティstep2ViewModel
が設定されておらず、ModelState.IsValid
false を返しています。両方の状態を避けたい。私はMVCに非常に慣れていないので、助けてください。
いくつかのリンクを検索しましたが、シナリオを理解できません。
c# - ビューモデルの文字列に応じてコンテンツを更新する
次のようなビュー モデルを持つ MVC アプリケーションを実行しています。
- ユーザー: 元のユーザー
- SearchQuery : ビューによって返されるクエリ
- QueriedUsers : ユーザーがソートされた後のユーザー
私の見解では、次のコードがあります。
そして、これはコントローラーの HttpPost コードです。
検索フィールドで Enter をクリックする前に、次のような URL が表示されます。
Enterをクリックすると、次のようになります。
ブレークポイントから、コントローラー コードが実行されていることがわかります。
新しい URL で表示されるエラーは次のとおりです。
リソースが見つかりません。説明: HTTP 404。探しているリソース (またはその依存関係の 1 つ) は、削除されたか、名前が変更されたか、一時的に利用できない可能性があります。次の URL を見直して、スペルが正しいことを確認してください。
もちろん、URLが変更されたことが原因です。
私の問題を解決するためのヒントはありますか? :-) ユーザーに where 句を付けたいだけなので、検索入力に応じて関連データを表示できます。
asp.net-mvc - MVC ASP.NET このオブジェクトにはパラメーターなしのコンストラクターが定義されていません
アカウントを作成するために送信をクリックすると、次のエラーが表示されます。次のエラーが発生する理由がわかりません。また、ブレークポイントとデバッグを使用しようとしましたが、役に立ちませんでした
このオブジェクトにはパラメーターなしのコンストラクターが定義されていません。
説明: 現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。
例外の詳細: System.MissingMethodException: このオブジェクトにパラメーターなしのコンストラクターが定義されていません。
ソース エラー:
現在の Web 要求の実行中に未処理の例外が生成されました。例外の発生元と場所に関する情報は、以下の例外スタック トレースを使用して特定できます。
AccountController.cs
CreateNewFixedBankAccount.cshtml 以下の送信ボタンでエラーが発生します
NewFixedAccountViewModel.cs
このビュー モデルは、データベース内のさまざまなテーブルからアカウントに関係する詳細を取得します。
asp.net-mvc-4 - 「ViewModel」は「DomainModel」タイプのプロパティを保持できますか
asp.net MVC 4 には、2 つの DomainModels があります。
- 製品
- 注文
および関連する ViewModel
- OrderDetailsViewModel
「OrderDetailsViewModelMapper」マッパー ファイルで、これら 2 つの DomainModels を ViewModel に手動でマッピングしています。マッパー ファイル「OrderDetailsViewModelMapper」はリポジトリ メソッドを呼び出します。このメソッドは DB にアクセスし、2 つの DomainModels ieProduct と Order をリポジトリ自体にマッピングした後に返します。したがって、マッパーはリポジトリを呼び出してそれを取得するだけです DomainModels. Automapper は必要ありません。このシナリオについて 2 つの質問があります。
- ViewModel を埋める上記のフローがベスト プラクティスに違反しているかどうか
- 以下のように「OrderDetailsViewModel」内に Product & Order タイプの 2 つのプロパティを保持し、「OrderDetailsViewModel」内のすべてのプロパティを複製して項目を個別にマップするのではなく、それらのプロパティのみをマップすることはできますか?
asp.net-mvc-4 - ポストバックで ASP.NET MVC ViewModel が null になる - 時々
HTML フォーム (6 または 6.5 - または一般的に整数 VS float) での入力に応じて、次の例外が発生する場合と発生しない場合があります (int では機能し、float では機能しません)。
ディクショナリに渡されたモデル アイテムは null ですが、このディクショナリには 'System.Boolean' 型の null 以外のモデル アイテムが必要です。
私のビューのViewModelはnullであり、bool値を期待するカスタムテンプレートで問題が表示されますが、代わりにnullになります。ASP.NET MVC 4 と .Net 4.0、C#、および Razor テンプレートを使用しています。
数時間のデバッグの後、次の結論に達しました。
- Post Form-Data は同一です (1 つのプロパティは異なりますが、それでも正しいように見えます)。
- 実行順序は、どういうわけか奇妙に異なります。
- intの場合、Application_BeginRequest->属性を実行するフィルター->アクション->ビューレンダリングまたはリダイレクト(すべて通常)を取得します
- floatの場合、属性を介して実行される Application_BeginRequest->Filter を取得します->View Rendering-> END WITH AN EXCEPTION および Empty ViewModel
私はそれを何十回もチェックしました->フロートを渡すと、アクション(私が見たであろう)を実行せずにビューが何らかの形でレンダリングされます(もちろん、ブレークポイントは常に同じでした)。残念ながら、ビューがレンダリングされると、StackTrace には何も表示されなくなりました。
私のビューのビューモデルは次のとおりです。
ポストバック アクションは
ポストバックは実際にはリンクへ
/JAB/編集/
e751 (特別なプロパティ) が整数値を持つ場合でも、正しいメソッド get が実行されます。また、そのフィールドでautoNumeric-JavaScript プラグインを使用します。また、プラグインを他のフィールドで使用していますが、これまでのところ、このフィールドでのみエラーが見つかりました。同様に、エラーを再現できないワークステーションが 1 つあるため、3 つのワークステーションのうち 2 つとテスト サーバーでエラーが発生します。
これまでのところ、時々機能するという事実を説明するものは何も見つかりませんでした。
時間を割いて私の投稿を読んでくれてありがとう。
何が間違っているのか、何を確認できるのか、何かアイデアはありますか?
asp.net-mvc-2 - ViewModel 冗長性の明確化
最近、ViewModel とその利点について読んでいました。なぜそれが必要なのか理解できますが、質問は、同じオブジェクト (つまり Person クラス) に対して 2 つのクラスがある場合、コードを冗長にしませんか? また、基本クラス モデルとビュー モデルに同じ数のプロパティがあることを確認する必要があるため、将来の変更が少し難しくなることはありませんか? たとえば、 Person というテーブルがあるとしましょう
- ID
- 名前
- 色
NHibernate のマッピングを作成するための hbm を作成しています。次のモデルクラスがあります
私が正しければ、ビューモデルクラスは次のようになります
まず、データベース内の同じオブジェクトを参照する 2 つのクラスがあります。1 つのクラスは DB 用に使用され、もう 1 つはビュー用に使用されますが、まったく同じメタ データを持つ 2 つのクラスがまだあります。次に、データベースに新しいフィールドを導入する場合、ベース モデル クラス、ビュー モデル クラス、および HBM ファイルの 3 つの場所に追加する必要があります。
間違っている場合は修正してください。これをコードの最適化またはベスト プラクティスと呼ぶにはどうすればよいでしょうか。
c# - Model が ViewModel とまったく同じ場合はどうすればよいですか?
ベストプラクティスとは何か知りたいです。私は常に ViewModel を作成し、データをビューに渡すためにコア Model クラスを使用しないように言われました。それは理にかなっている。物事を分けてみましょう。しかし、Model とは ViewModel とまったく同じです。別のクラスを再作成するか、それを使用する必要があります。
作り直した方がいいと思います。専門家の言うことを知りたいだけ..