問題タブ [updatemodel]
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# - エンティティはサービス層にアクセスし、更新/保存メソッドを実行する必要がありますか?
私のアプリケーション要件: テキストボックスにデータを入力してからテキストボックスを離れるなど、ユーザーがプロパティを変更した場合は、すぐにデータベースに更新する必要があります。
MVVMデザインパターンでWPFを使用しています。私のエンティティはすべて実装していINotifyPropertyChanged
ます。CUSTOMERのプロパティが変更された場合、私は変更します
エンティティは本当に自分自身を更新する必要がありますか? または、独自の更新をデータベースに誘導しますか?
エンティティ内にない場合、他にどのようにプロパティの即時更新を行うことができますか?
asp.net-mvc - MVC 3 マスター/詳細 UpdateModel は、既存のレコードを更新する代わりに、新しい詳細レコードを挿入します
わかりました、リストへのバインドに関するPhil Haack の記事を読みましたが、1 つのビューで問題なく動作しています。しかし、マスターレコードからそれを行うときに私が立ち往生していること。
このオブジェクトの非常に単純なフォームがあります
フォーム コレクションは、予想されるプレフィックスで返されます。
そして Controller.UpdateModel(master) はすべてのプロパティを正しくバインドします。しかし、dbContext.SaveChanges を呼び出すと、SQL プロファイラーから次の SQL が発行されます (疑似コード)
うまくいく回避策がありますが、それはかなりハックであり、現在キーを一致させていないため、すべてが正しい順序で戻ってくることに依存しています。さらに、更新したいすべてのフィールドを含める必要があります。
UpdateModel がどういうわけか子を削除して再追加しているように感じます。
他の誰かがこれを機能させましたか?もちろん、タオルを投げてインデックス付きフィールド名を自分で解析することもできますが、非常に近いです!
asp.net-mvc-3 - mvc3 razor dropdownlistfor causing update model to fail
I have a problem with the following code. Basically when I call updatemodel it fails but I dont get an inner exception. If i change the drop down to a text box it works.
class:
controller methods:
and finally cshtml code:
When I click the save button the updatemodel line fails. As said above, it doesn't fail if I use a text box for gender. Does anyone know what is making it fail or how to debug it?
asp.net - MVC 3 アプリケーションでモデルの子コレクションを更新しますか?
これは、しばらくの間私を悩ませてきたより大きな問題の一部です (全体像については、Asp.Net MVC のモデルとしてエンティティを使用した「EntityCollection は既に初期化されています」というエラーを参照してください)。
しかし、私は、似たような問題に直面し、明らかに彼のニーズに合わせて解決した人がいる Web サイトを見つけました ( http://codeblog.shawson.co.uk/creating-an-order-order-details-style-form-usingを参照)。 -asp-net-mvc2-entity-framework/ )。試してみましたが、自分のコードと、Steven Sanderson によるチュートリアルで提供されたヘルパー メソッド (以前の投稿を参照) に合うように、いくつかの変更を加える必要がありました。
私は非常に近いようですが、完全ではありません:
これは上記のサイトの例に従い、modelProgram は変更されたプロパティで更新されますが、modelProgram オブジェクトがへの参照であっても、これらの値は Consultant オブジェクトの _repository.Save() でデータベースに保存されません。コンサルタントのプログラムオブジェクト...何が間違っていますか?
ちなみに、はっきりしない場合は、Entity Frameworkを使用しています。
(ところで、誰かが前の質問と全体像について意見を持っていれば、それも歓迎されますが、まだ解決されていません)。
助けてください、私は最近とても興奮していたMVCへの信頼を失っています...
更新: ここに間違いがあったようです: UpdateModel は実際には更新を行わず、modelProgram の別のオブジェクト (viewmodel 内のオブジェクト) を参照しただけなので、もちろん正しいプロパティ値がありました。私はまだこれを達成する方法についてのアイデアが欲しい...
asp.net-mvc - UpdateModel は、モック フォーム コレクション値を使用して正しい結果を返すことができません
コントローラーを呼び出す2つのテストメソッドがあります:
これは合格しました:
これは失敗します:
コントローラーのアクション結果は
ただし、try-catch ブロックは例外をキャッチしません (「IM_Paper.Year」は int である必要があります)。そのため、コントローラーは常にアクションの結果を RedirectToAction として返します。最初のものでも、メモリ内のデータは変わりませんでした。
なぜこれが起こるのか分かりますか?クラス「IM_Paper」については、POCO ジェネレーターを使用し、エンティティ フレームワークから生成しました。クラスは次のようになります。
exception - ASP.NET MVC3: TryUpdateModel が例外をスローする
次のモデルを受け入れるビューがあります。
これは、次のアクションにポストバックします。
ただし、ポストバックすると、次の例外がスローされます。
タイプ 'System.Int32' のオブジェクトをタイプ 'System.String' にキャストできません。
説明: 現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。
例外の詳細: System.InvalidCastException: タイプ 'System.Int32' のオブジェクトをタイプ 'System.String' にキャストできません。
ソース エラー:
ここでは強調できませんが、例外が発生するのは 137 行目です。このメソッドにステップインできないので、この例外の原因を特定するにはどうすればよいですか?
また、TryUpdateModelは、結果を反映するためにtrueまたはfalseを返すだけで、例外から私を保護することになっていませんか? 例外がスローされる可能性があることに気づきませんでした。
更新:モデルは次のとおりです(派生モデルとベースモデルの両方):
基本型はエンティティであり、それを表示する最善の方法は、その背後にある XML を表示することです。
これには、それを拡張するバディ クラスがあります。
最後に、ビューの関連部分を次に示します。
c# - ASP.NET MVC 更新モデルが機能しない?
クライアント タイプのエンティティを更新したいと思います。
サービスは、クライアント タイプのエンティティを返します。クライアントには次のプロパティがあります: Username、FirstName、LastName、Id - これらは送信されたコレクションのキーです。
さらに、クライアント エンティティには、注文のリスト (SQL Metal によって追加されたもの) と、オブジェクト追跡用のバージョン フィールドがあります。
UpdateModel 行がヒットしてもエラーにはなりませんが、オブジェクト c の値は更新されません。問題はservice.Update(c)
ではなく にありUpdateModel(c, "Client")
ます。
私は何を間違っていますか?
ありがとうございました
編集: クライアントは SQL メタルによってマップされます。
その属性は次のとおりです。
- 整数 ID
- 文字列のユーザー名。
- 文字列名;
- 文字列 姓;
- タイムスタンプのバージョン
- IQuerable 注文;
エラー (内部例外は null)
asp.net-mvc-3 - UpdateModel が ViewModel と DropDownListFor のプロパティを介してモデルを更新しない
テキスト ボックスと DropDownListFor がある編集ビューを設定しようとしています。DDLF にデータを入力する方法を見つけました。レンダリングされた値とポストされた値は正しいのですが、モデルを適切に更新できないようです。
更新しようとしているオブジェクトは LINQtoSQL から生成され、データベースには外部キー列があります。「Contains」関係になった LINQtoSQL クラス。DB の列を表す ID プロパティと、それが表すオブジェクトを取得できます。
更新を行うために私が見つけた唯一の方法は、DDLF から値を取得し、それを使用して、次のように変更したいオブジェクトを取得することです。
また、このように ID フィールドを更新しようとすると、次のエラーが発生します。
エラー:新しい System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException() をスローします。
これは非常にお粗末な方法であると思われ、UpdateModel を機能させようとしています。
asp.net-mvc - ViewModelにバインドするときにモデルを更新する方法は?
次の[HttpPost]
ようなアクション メソッド シグネチャがあります。
さて、過去に(R&DなどのViewModelを使用していなかったとき)、次のようなEditメソッドの実装がありました:
これはうまくいきました。
しかし、上記をViewModelアプローチに適応させる方法がわかりません。
私がこれを行う場合:
私の ViewModel アプローチでは、あまり起こりません。Post
エラーはありませんが、MVC は aから aを更新する方法がわからないため( ->ExistingPostViewModel
になる前)、何も更新されていません。Post
Post
今、私は AutoMapper を使用しています。したがって、ViewModel から にマップしてPost
、投稿を保存できると考えました。
しかし、基本的にすべてをオーバーライドします。これはやりたくないことであり、ビューモデルのカットダウンのポイントを無効にします。
誰でも私を混乱させることができますか?
これは非常に一般的なシナリオのように思えます。人々がこれをどのように解決するかについて、私は完全に困惑しています。考えられる解決策は 3 つしかありません。
HTTP POST で ViewModel を使用しないでください。私が言ったように、私は過去に研究開発のためにこれを行い、それは機能しましたが、今では私のビューがどのように進化したか (検証、シンプルさ) がわかり、この問題のためだけにそれを妥協することはできません.
TryUpdateModel を使用しないでください。おそらくですが、どうすれば変更をマージできますか?
左から右に使用します。うーん。しかし、現時点では、これが私が傾いている方法のようです。
誰か私に解決策#4を教えてください!:)
ところで、私は ASP.NET MVC 3、Razor、および Entity Framework を使用しています。
asp.net-mvc - mvc で fileupload を使用してイメージを更新できません
データベースに既に更新されているテキストと画像を更新しようとしています。ユーザーが画像でニュースを編集および更新できるニュースメニューがある管理セクションがあります。問題は、ニュース テキストを編集および更新できるが、画像が更新されないことです。以下はコントローラーとビューです: