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

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

asp.net - 単一のビューで複数のビュー モデルを渡す

すべてのモデルが定義されていて、うまくいけば適切に渡されたと信じていますが、別のモデルが必要なときにあるモデルを渡しているというエラーが表示されます。

メイン ビュー:

モデル:

UserName アクション GET:

ユーザー名 POST アクション:

プロファイル アクション:

UserName のページを表示:

エラーメッセージ: The model item passed into the dictionary is of type 'Project.Models.ProfileModel', but this dictionary requires a model item of type 'Project.Models.UsernameModel'.

私が間違っている場所の助けを本当に感謝します。

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

asp.net-mvc-4 - ビュー内の複数のモデル エラー

モデルが異なるさまざまな部分ビューを持つビュー ページがあります。メイン ビュー ページで使用できるように、他のクラスを呼び出すモデル クラスを作成しました。しかし、私の問題は、パスワードを変更しようとすると、別のモデルに渡す必要があるモデルを渡しているというエラーが表示されることです。構造は正しいと思いますが、この問題の原因がわかりません。

メイン ビュー:

プロファイル モデル: 私が作成したモデルを含む

コントローラ:

役職:

パスワード変更のページを表示:

私が得ているエラー: The model item passed into the dictionary is of type 'Project.Models.LocalPasswordModel', but this dictionary requires a model item of type 'Project.Models.ProfileModel'.

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

asp.net-mvc-3 - ビューでルート {id} 値を取得しますか?

/controller/action/{id}関数パラメーターとしてidにアクセスできるようなものがあるかどうかはわかっていました。しかし、ビューバッグを使用せずにビューを介してアクセスするにはどうすればよいでしょうか?

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

asp.net-mvc - MVC ASP.NET を使用して複数のテーブルにデータを挿入するには

MVC ASP.NET は初めてです。これは過去に解決された可能性がありますが、私の問題に対する完全な解決策はまだ得られていません。

問題 : テーブルが 2
つある

列: VideoID、FlimName、説明

ビデオ詳細

列は次のとおりです: VideoDetailsID 、 Actor 、 VideoID (テーブル video からの外部キー)

私はMVCモデルからこれらの両方のテーブルにデータを挿入しよう しています。

問題の解決策をいくつか見つけましたが、1 つの完全な解決策にはなっていないようです。

この問題への段階的なアプローチで役立つリンクをいくつか取得できますか、または誰かがこの解決策を手伝ってくれますか?

このフォーラムで ViewModel アプローチについて読みましたが、その機能とフローについてはまだ明確ではありません。助けてください。

ありがとう、

マンゲシュ

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

asp.net-mvc - 入れ子になったビュー モデルとノックアウトを使用した ASP.NET MVC

次の ASP.NET MVC 4 の入れ子になったビュー モデルのノックアウトを実装する方法について頭を悩ませることができません。

ビューでは、次のようなモデルを受け入れます。

の EditorTemplate は次のList1ようになり、複数の質問が次のようになります。

編集

VM1 から VM10 までは、検証ロジックを除いて同じであるため、それらを異なるクラスにする必要があります (残念ながら、モデルとビューで大量の繰り返しがあるため)。

クライアント側 - これが私が求めていることです: ネストされたリストを含む ASP MVC モデルから渡し、それらをノックアウトでクライアントに提示する必要があります (動的リストに関しては、それが最も効果的であることがわかりました)。これは、Gmail の連絡先に似たものです。自宅/職場/携帯電話/FAX の電話があるため、1 つのリストは電話のラベル (どの電話か) であり、コンボボックスとして表示する必要があります。もう 1 つは、増加できる電話の動的リストです。ユーザーのクリックごとに。

編集を終了

  1. このネストされたモデルからノックアウト viewModel を作成する方法がわかりません。明らかに名前はその一部である必要がありますが、残りはリストであり、リストも含まれています。

  2. どのようにマッピングするのですか?

  3. それをどのように処理するか (1 つは、長さが可変である他のリストのラベルとなるドロップダウン リストに入ります - ここでノックアウトを使用する唯一の理由です)。

  4. 記入したら、すべてをまとめてコントローラーアクションに戻す方法は?

  5. ラベルが名前のラベルのドロップダウンリスト (またはコンボボックス) である場合のエディター モデルの書き方 (例: [ラベル]自宅/職場 [名前]電子メール、[ラベル]携帯/自宅/車 [名前]電話)

IList中身のある単純なクラスなら、こんな感じ。問題は、リスト内にリストがあることです.Knockoutは、すべてが観察可能であることを要求します.Javaスクリプトでこのネストモデルを表現する方法がわからない.

助けてください。前もって感謝します!

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

asp.net-mvc-3 - ASP.NETMVCビューモデルがDropDownListを使用してHTTPPostにバインドされていません

コントローラに投稿するとバインディングが失われ、ビューモデルのすべてがNULLになるという問題があります。これが私が使用しているコードです:

意見:

ViewModel:

コントローラ:

ビューモデルのすべてがNULLになるのはなぜですか?Chromeツールを使用すると、投稿で文字列と整数の値が投稿されていることがわかります...回避策として、コードを機能させるために次のことを実行しました。

回避策コントローラー:

ありがとう

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

asp.net-mvc - MVCかみそりのレイアウト-ビューから変更

これは私のレイアウトページです:

サーバー側でロードされたビューに応じて、actionlinkの「選択された」クラスを変更したいと思います。私はそれを行うために利用可能なオプションを探しています。

よろしくお願いします

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

asp.net-mvc - コンボボックスを使用したノックアウト可変長リストを使用したASP.NET - バインド方法は?

次の ASP.NET モデルを使用

ダミー データを入力し、適切なビューにUserオブジェクトとして送信すると、ビューに次のノックアウト定義があります。

そして最後に、実際に次のような可変長リストを処理することになっているエディター テンプレート:

本質的に私は

  1. EditorTemplateforコンボボックス(またはドロップダウンリスト)で機能させることはできません。何をしてもラベルに付けられません。テンプレートの外にある別の場所に移動すると、期待どおりに機能します。
  2. また、選択に基づいて、電子メール内の「SelectedValue」に入力します - その方法。

  3. すべてが選択された後 (これは単純なはずです)、途中で値を失うことなくすべてを元に戻す方法 (ご覧のとおり、スーパー ネスト モデル)。

事前にどうもありがとうございました!

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

asp.net-mvc - ノックアウト ビュー モデルが ASP.NET MVC に部分的にポスト バックする - 完全なオブジェクトをポスト バックする方法は?

これらの ASP.NET MVC ビュー モデルを持つ:

ノックアウト ビュー モデルは次のようになります。

コントローラーに正しくポストバックされるのは ですがUser.NameUser.LabeledEmail空です。別の場所でリストを個別に使用できるようにするには、モデルをフラット化する必要があります。実際、保存中にviewModel.Emailsが適切に入力されることは知っていますが、User.LabeledEmailsはどういうわけかnullを返します。

それは基本的に を割り当てることModel.LabeledEmail.EmailsviewModel.Emailsなり、取引は解決されるようですが、方法がわからず、適切な例が見つかりません。

  1. 私が犯す過ちとは
  2. 適切に行う方法は?

前もって感謝します。

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

asp.net-mvc-4 - Knockoutjsの投稿でMVC検証が失われました

私はMVC4とノックアウトを使用しています。ビューモデルに強く型付けされたフォームがページにあります。そのビューモデルでは、たとえば次のような検証が定義されています。

必須フィールドに入力せずにフォームに標準の投稿を行うと、アクションはモデルが無効であることを確認してビューに戻り@Html.ValidationSummary、フォームにあるためメインの検証メッセージが表示されます。@Html.ValidationMessageForフィールドに関連付けたため、個々のフィールドも無効(メッセージ付き)としてマークされます

そこで、ノックアウトを追加し、フォームを投稿する代わりに、今呼んでいますko.utils.postJson($("form")[0], self);。これでほとんどすべてが機能します。必須フィールドが入力されていない状態でフォームを投稿すると、個々の検証メッセージが表示されないことを除いて、アクションはモデルが無効であることを検出してビューに戻ります。

投稿前に入力されたフィールドも失われます。私は、mvcビューモデルを読み取り、変数をそのような値に設定することで、これを修正しようとしました。

そして、私のノックアウトビューモデルでその値を設定します

しかし、「1」と入力すると、失敗した投稿が返されると、フィールドに「「1」」と入力されます。

これはフォームがそれほど複雑ではないので、回避できるのであれば、新しい検証レイヤーを導入したくありません。検証用の投稿があってもかまいません。

ありがとう、ダン