問題タブ [editmodel]

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.

0 投票する
2 に答える
1130 参照

asp.net-mvc - ViewModels、EditModels、および AutoMapper を使用した ASP.NET MVC の参照実装

簡単な質問: ASP.NET MVC を ORM、ViewModels、および EditModels (理想的には Automapper を使用) と共に使用するための適切なリファレンス実装はありますか?

これらの目的別モデルを使用する利点は理解していますが、これまでこれらを使用するために書いたコードの結果にはあまり満足していません。これらの側面が MVC ワークフローのどこにどのように適用されるかを示す簡単なリファレンス アプリケーションがあれば、すばらしいでしょう。

0 投票する
1 に答える
124 参照

asp.net-mvc-2 - 編集モデルがバインドされているときにモデルの検証を処理する方法 != ビュー モデル

ASP.NET MVC 2 で、フィールドがビュー モデルによって提供される情報に基づいているが、投稿されたデータがスリムな編集モデルによって表されるそのデータのサブセットであるフォームがある状況があります。編集モデルに簡単なデータアノテーションのバリデーションを追加したいのですが、ビューがビューモデルに基づいているため、どうすればよいかわかりません。

0 投票する
1 に答える
353 参照

asp.net-mvc - 編集モデルをドメインモデルにマッピングするにはどうすればよいですか

Edit Model(ビューフォームからポストバック)のフィールドをドメインモデルにマップして、SubmitChanges()を実行し、データベースレコードを(LinqからSQLを介して)更新できるようにするための最良の方法を理解しようとしています。私の例は単純で、その答えはおそらく手動で行うことです。私が尋ねている質問は、それがまだ手動で行うことができるより多くのフィールドを持つモデルのためであり、おそらくそれが答えです-しかし、より簡単な方法はありますか(おそらくAutoMapperを使用して)?

私のドメインモデル:

私の表示/編集モデル:

コントローラーのアクション:

私のサービスレイヤーのUpdateメソッド:

productのフィールドと一致するproductVMのフィールドをマップしたいだけです。編集モデルにはドメインモデルに存在しないフィールドがあり、ドメインモデルには編集モデルに存在しないフィールドがあります。私の最終的な目標は、モデルの編集のフィールドからデータベースのフィールドを更新することです。

ありがとう

0 投票する
2 に答える
6269 参照

asp.net - asp.net gridview の編集モードでのポップアップ カレンダー

すべての点で、マスター詳細プロジェクト asp.net (SQL データ) プロジェクトがあり、Master.aspx とコード ビハインド ページ Master.aspx.cs が含まれています。コードは次のとおりです。

ここで、分離コードなしで上記のテキスト ボックス 'EditFailure_date' にポップアップ カレンダーを追加したいと考えています。助けてください。

0 投票する
4 に答える
894 参照

asp.net-mvc - editmodel/postmodel をドメイン モデルに変更する方法

ASP.NET MVC プロジェクトでは、AutoMapper を使用してドメイン モデルからビューモデルにマップし、その際に階層をフラット化することもあります。これは魔法のように機能し、ビューのレンダリング ロジックを非常に無駄のないシンプルなものにします。

特にオブジェクトを更新するときに、ビューモデル(またはポストモデルまたは編集モデル)からドメインモデルに逆に行きたいときに混乱が始まります。次の理由により、自動/双方向マッピングを使用できません。

  1. フラット化された階層をアンフラット化する必要があります
  2. ドメイン モデルのすべてのプロパティは変更可能である必要があり、パブリック セッターが必要です。
  3. ビューからの変更は、常にフラットなプロパティがドメインにマップされるだけではなく、" ChangeManagerForEmployee()" などのメソッドを呼び出す必要がある場合もあります。

これは、Jimmy Bogards の記事: The case for two-way mapping in AutoMapper でも説明されていますが、これに対する解決策については詳しく説明されていません。

EditModel から CommandMessages へ - 緩く型付けされた EditModel から厳密に型付けされた分割されたメッセージへ。1 つの EditModel で半ダースのメッセージが生成される場合があります。

同様のSO の質問には、Mark Seemanによる回答があります。

抽象マッパーとサービスを使用して、PostModel をドメイン オブジェクトにマップします

ただし、詳細 (概念的および技術的な実装) は省略されています。

現在の私たちの考えは次のとおりです。

  1. コントローラーのアクション メソッドで FormCollection を受け取る
  2. 元のドメイン モデルを取得し、viewModelOriginal と viewModelUpdated にフラット化します
  3. を使用して FormCollection を viewModelUpdated にマージするUpdateModel()
  4. 一般的なヘルパー メソッドを使用して、viewModelOriginal と viewModelUpdated を比較します。
  5. A) Jimmy Bogard 風に CommandMessages を生成するか、B) プロパティとメソッドを介して違いをドメイン モデルに直接変更します (おそらく AutoMapper を介して 1-1 プロパティを直接マッピングします)。

FormCollection から editmodel/postmodel を介してドメイン モデルに至るまでの例を誰かが提供できますか? 「CommandMessages」または「抽象マッパーとサービス」?

0 投票する
3 に答える
4008 参照

cakephp - CakePHPの既存のレコードを更新できません

私はユーザーの情報、私のコードを更新するための編集関数を書きます:

しかし、私はこの関数をチェックします:$ this-> User-> examples()はtrueを返しません。私の場合、Userテーブルキーはusernameです。usernameを編集すると、この関数は新しい情報を新しいレコードとして保存できますが、そうでない場合はユーザー名を編集します。新しい情報を保存できません。なぜこのように機能するのですか。また、レコードを編集するために関数を修正するにはどうすればよいですか。

0 投票する
2 に答える
140 参照

asp.net-mvc - Automapper を使用して EditModel をマップする

以下にリストされているクラスで Automapper を使用して ViewModel クラスをマップしようとして立ち往生しています。

Colors を使用して、使用可能なすべての色をビューに渡してユーザーが選択できるようにし、 Color プロパティを使用して値を取得し、次のようなものをビューに入れます。

次に、コントローラに、それを保存する Post メソッドがあります。Automapper を使用してクラスを変換しようとしましたが、使用可能な ID で Color オブジェクトを取得する必要があるため、Color プロパティのマッピングに失敗しました。

何か不足していますか?