問題タブ [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.

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

asp.net-mvc - ちょっと複雑なデータ入力フィールドを持つ ASP.NET MVC UpdateModel

ASP.NET MVC UpdateModel を使用して次のことを行うにはどうすればよいですか? スペースで区切られたテキスト ボックス データ (このような新しい StackOverflow の質問の TAGS テキスト ボックスとまったく同じ) をモデルに読み込もうとしています。

例えば。

Tags プロパティはインスタンス化されますが、これには 1 つの項目しか含まれません。これは、Tags 入力フィールドに入力されたデータ全体です。リストに単一のアイテムが必要な場合(スペースを介して文字列を分割することに基づいて)..これを処理するベストプラクティスは何ですか?

乾杯!

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

asp.net-mvc - UpdateModel を使用するモックを使用せずにアクションを単体テストするにはどうすればよいですか?

私は、 ASP.NET MVC Beta 1に関する Scott Guthrie の優れた投稿に取り組んできました。その中で彼は、UpdateModel メソッドに加えられた改善と、それによって単体テストがどのように改善されるかを示しています。同様のプロジェクトを再作成しましたが、UpdateModel への呼び出しを含む UnitTest を実行するたびに、controllerContext パラメーターを指定する ArgumentNullException を受け取ります。

私のモデルから始めて、関連するビットは次のとおりです。

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

そして最後に、失敗している私の単体テスト:

ArgumentNullExceptionUpdateModelへの呼び出しによって、 「値を null にすることはできません。パラメータ名: controllerContext」というメッセージがスローされます。テストの実行中に存在しないUpdateModelが必要な場所があると想定しています。System.Web.Mvc.ControllerContext

また、どこかで何か間違ったことをしていて、正しい方向に向ける必要があるだけだと思います。

助けてください!

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

asp.net-mvc - FormatException: Html.CheckBox()、UpdateModel()、および非表示の入力

私の見解では、bool フィールドのチェックボックスがあります。

必要に応じて、綿毛を忘れることができます。

..同じ問題を引き起こします。

モデルを次のように更新しようとすると:

..i 2 つの bool フィールドを含むオブジェクト配列の戻り値を取得します。わかりました、隠しフィールドの必要性を理解しています。しかし、MVC Beta を使用していますが、投稿データが UpdateModel によって正しく処理されていないと思います。次のエラーが表示されます: System.FormatException "文字列は有効なブール値として認識されませんでした。" ..フォームが時々ポストバックするとき。つまり、フォームの別のフィールドが空の場合を除いて、フォームは正常に機能し、true と false の状態を保存するということです。次に、「true、false」の値について不平を言います。それでいい。文字列「true、false」は有効なブール値ではないことは理解していますが、時々文句を言うことはありますか? 助けてください

編集: UpdateModel() メソッドへの別のアプローチを誰かが提案できる場合は、それを見てください。これは私が見逃している単純なものだと思います。

編集 2:これは MVC ベータ版 ( http://www.codeplex.com/aspnet/WorkItem/View.aspx?WorkItemId=2671&FocusElement=CommentTextBox ) の既知のバグのようです。誰かが回避策を提案できますか?

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

asp.net-mvc - UpdateModel を呼び出すには、どの参照が必要ですか?

UpdateModelコントローラー以外のクラスで使用しようとしていますが、機能しません。コントローラークラスを呼び出すUpdateModelと、完全に機能します。参照は両方のクラスで同じです。

誰かがこれについて私を助けてくれませんか?

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

asp.net-mvc - ASP.Net RC1 での TryUpdateModel の要件のモック

RC1 でコントローラーの単体テストを作成中です。私がテストしているコントローラーの公開署名は次のとおりです。

AcceptColleague 内の実装では、TryUpdateModel(colleague) メソッドを使用して、フォーム フィールドから Colleague オブジェクトを設定します。ただし、メソッドを単体テストしようとすると、TryUpdateModel 行で「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というエラーが発生します。

これが私の単体テストコードです:

モックで何かが足りないのでしょうか、それとも AcceptColleague(Colleague colleague) のような別のパブリック署名を使用して ModelState.IsValid プロパティをテストする必要がありますか?

もしそうなら、コントローラーから読み取り専用の ModelState プロパティをモックする方法がわかりませんか?

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

c# - UpdateModel がブール値を適切に変換しない

通常のブール オブジェクトとの間で変換できる S2kBool というカスタム オブジェクトがあります。基本的に、C# のブール値を扱うのと同じ方法で、アプリケーションがレガシー データベースのブール値を扱うことができます。次に問題は、チェック ボックスを使用して S2kBool プロパティの値を設定しようとすると、失敗することです。

次のようなコードが機能します。

しかし、それは、bool に変換できるオブジェクトではなく、UpdateModel が実際の bool 型を期待しているようなものです。ただし、スローされた例外は非常に曖昧であるため、実際にはわかりません。

モデルは正常に更新されませんでした。

どうすればこれを回避できますか? カスタム ModelBinder は必要ですか?

ありがとう!

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

asp.net-mvc - MVC UpdateModel ComplexType

以下のタイプをお持ちの方。

ページを Person に強く型付けします。

コントローラーでは、次のようにします。

UpdateModel を呼び出します。Person.Parameters を除いて、すべてのプロパティが適切に入力されます。これは、updateModel の後では常に null です。

これに対する解決策または回避策はありますか?

よろしく、スティーブ

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

.net - ビュー UpdateModel のタイプに依存しない MVC コントローラー

ビューの型を通知しないコントローラで updateModel を使いたい。タイプが異なるさまざまなビューがありますが、すべて継承されたタイプとして ExternalBase クラスがあります。

したがって、コントローラーには常に ExternalBase がありますが、コントローラーは正しいタイプを認識していません。

保存時に、正しいオブジェクトを取得するメソッドを呼び出しますが、これを externalBase として返します。innertype は私の正しい型です。オブジェクトにカーソルを合わせると、保存を呼び出すのはビューのタイプです。updateModel を呼び出すと、プロパティが入力されません。

例として:

// MyExternalBase は空のクラスです

クラスの人

保存のコントローラーで、次のことを行います。

これで、p がいっぱいになりません。

代わりに Person p = new Person() を使用しても問題ありません。しかし、コントローラーをビュータイプから独立させたいと思っています。

これは updateModel のエラーですか、それとも不可能なことですか? または、それに対する回避策はありますか?

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

asp.net-mvc - UpdateModelを使用して子レコードを投稿するASP.NETMVC

この質問を続けると、個人用にリストされたすべての車両を含むフォームがあり、車両フィールドは編集可能であり、保存アクションに正常にポストバックされています。

UpdateModelを使用してデータを保存したいのですが、作成方法がわかりません。これが今の私の保存アクションです:

これを実行しても何も保存されず、UpdateModelはエラーをスローしません。UpdateModelは、各更新に使用する車両配列内のアイテムを認識していないため、魔法を機能させるためにもう少し方向性を与える必要があると思います。

UpdateModelの3番目のパラメーターとしてValueProviderResultを指定する必要がありますか?もしそうなら、どうすれば車両(i)から1つを作成できますか?私はこれをどのように設定したかについて完全にベースから外れていますか?