問題タブ [asp.net-mvc-views]

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 に答える
1244 参照

asp.net-mvc - ASP.NET MVC3 View の SelectedListItem で Selected = true を条件で変更する

これは私のモデルです:

私は部分的な見方をしています:

だから私Selected = trueはそのアイテムList<SelectListItem>DropDownList等しい名前が必要MyModel.SelectedItemですか?あなたの提案は何ですか?実際には、私のビューにはもっと多くの制限があり、モデル プロパティとして渡すことができずSelectListItem、ビューで処理する必要があります。ラムダインラインで処理することを考えていますが、可能かどうかはわかりません。次のようなものです。List<SelectListItem>List<SelectListItem>@Html.DropDownList(item.Name , MySecondList.each(a=> if (a.ToString() == item.SelectedItem) {a.Selected = true})

これを行う方法はありますか?インラインラムダを使用するのが間違っている場合、これを処理する他の方法はありますか?

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

c# - MVC3 View For Loop 値の初期化

したがって、入力ボックスをレンダリングすることになっているビューに for ループがあります。これらの入力ボックスの中に、クリックすると消えるラベルを入れたいと思います。これはすべて簡単です。これはおそらく、私の脳が最初に php に配線されたためであり、ラムダとオブジェクト指向で考えさせるのが困難でしたが、これを行う方法がわかりません。

そして、ユーザーの値を初期化します。

そして、おそらく「もちろんうまくいかない。Null参照例外が発生するだろう」と考えているでしょうが、それは正しいでしょう。

他の場所でそれらを初期化する必要があるかもしれませんが、それはわかりませんが、よくわかりません。[DefaultValue("First Name")] ルートを試しましたが、うまくいきません。

私はおそらくこれについて間違っていると考えていますが、これらのイベントをコントローラーに接続する方法を理解しようとすることで、私の脳はすでに撃たれているので、助けていただければ幸いです!

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

asp.net-mvc - MVC ASP.Net ビューに 2 番目のモデルを追加するにはどうすればよいですか? つまり、html グリッドのあるページにドロップダウン リストを追加しますか?

ドロップダウン リストをビューに追加する例をたくさん見つけることができましたが、Webgrid もあるビューにドロップダウン リストを追加する必要があります。これには 2 つの異なるモデルが必要であり、私が見たところ、ビューごとに 1 つしか持てません。

DDL は 1 つのモデルから、グリッドは別のモデルから埋められます。

ddlで選択されたデータを使用して、グリッドに表示されたデータをフィルタリングしようとしています。

例や記事は大歓迎です。

ティア

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

asp.net-mvc-views - アクションリンクの表示がコントローラーアクションに値を渡していない

私は次の見解を持っています:

そして、コントローラーは次のようになります。

ただし、[行の編集]または[行の削除]をクリックすると、値がコントローラーアクションに渡されません。常にNullです。

誰かが私に問題を指摘してもらえますか?コメントをいただければ幸いです。

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

asp.net-mvc-3 - ASP.NET MVC 3で、1つのビューに2つのフォームを別々にうまく機能させる方法は?

2 つのアクション メソッドがあります。1 つは「新製品」の挿入データを送信し、もう 1 つはその製品の写真をアップロードする必要があります。それぞれに独自のモデル、ビューがあり、それぞれが完全に分離されたコントローラーから独自のアクションを呼び出します。

しかし、両方のフォームを 1 つのビューに表示する必要があります。

@html.action() を使用して、「Upload」アクションのビューを「Insert New Product」アクションのビューにレンダリングすることでこれを行いました。

問題は、両方の送信ボタンが同じ「Insert New Product」アクションを呼び出すことです:|

見てください。最初のビューは次のとおりです。

「アップロード」ビューは次のようになります。

では、送信時にそれぞれ独自の ActionResult を呼び出す 2 つ (またはそれ以上) のフォームを作成するにはどうすればよいでしょうか? よろしくお願いします。

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

c# - アプリケーションの起動時にMVCFindViewが遅い

とにかく、アプリケーションを実行し、MVC ViewCacheに事前入力して、Webアプリのウォームアップ中に発生する可能性のある2秒の時間損失を排除する方法はありますか?

現在、アプリケーションの起動中は、2秒のパフォーマンスラグタイムが表示されることがあります。起動すると、わずか数ミリ秒になります。

それが役立つ場合は、私は間違いなくリリースモードで実行しており、Razorエンジンのみを使用しています。

どんな提案も歓迎します。

Ta

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

c# - 最初のビューは常に index.aspx と呼ぶ必要がありますか?

loginController.cs というコントローラーを作成し、login.aspx というビューを作成しました。

loginController.cs からそのビューを呼び出すにはどうすればよいですか?

ActionResult常にインデックスに設定されており、きちんと整理するために、コントローラーが常にデフォルトのインデックスを呼び出すのではなく、呼び出されたときに使用するビューを指定したいですか?

それが理にかなっていることを願っています。

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

c# - mvc3 インターフェイスから具象クラスへのデータ注釈の反映

ビューモデルをさまざまなタイプのビューから抽象化しようとしています。全体が問題なくコンパイルされますが、データ注釈の「反映」(正式にはボックス化解除と呼ばれます) に問題があります。

私はインターフェースを持っています:

そして、インターフェイスをそのまま実装する2つのクラスがあります。

個人編集ビュー: ビュー/個人/編集など:

従業員の編集ビュー: ビュー/従業員/編集:

PersonController は次のとおりです。

すべてが正常にコンパイルおよびレンダリングされます。ただし、データの注釈は失われています。

したがって、従業員/編集は次のようになります。

名 [テキストフィールド]

姓 [テキストフィールド]

どちらの会社にお勤めですか?[テキストフィールド] 会社名は必須フィールドです

具象クラスのデータ注釈をボックス化解除する方法はありますか?

サイドノート

IPerson を Employee に明示的にキャストしてみました。

これを行うと、最初の名前が必要になりましたが、ラベルから表示プロパティを取得しませんでした。

更新 これがボックス化解除であるかどうかについて多くの議論を行った後、(より基本的な)具象クラスからデータ注釈を取得する簡単な解決策をまだ見つけていません。ビュー (またはヘルパー) でリフレクションを使用して具体的なクラスのデータ注釈を取得することは、単純化の目標を実際に無効にします。

基本的には同じですが、必須フィールドと表示名がわずかに異なるいくつかのビューがあります。ビューモデルをインターフェース化されたビューに渡すだけで、必要なフィールドと表示プロパティを把握できれば、非常に便利です。誰かがこれを行う方法を見つけた場合、それは大歓迎です。

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

asp.net-mvc - MVC ビュー レンダリングは、ビュー モデルで渡されたデータを考慮しません

ユーザーが一連のデータベース レコードを段階的に確認できるようにする MVC アクション メソッドを作成しようとしています。ユーザーが更新を投稿するたびに、更新がデータベースに送信され、レビューのために新しいレコードが取得およびレンダリングされます。

ただし、私の MVC ビューは、投稿されたビュー モデルと、データベース クエリの結果として作成された新しいビュー モデルの両方のデータを組み合わせているようです。ビューがビュー モデルからプロパティ値を単純にレンダリングする場合、渡されたビュー モデル インスタンスの値を正しく使用しますが、HTML フォーム コントロールをビュー モデル プロパティにバインドする場合は、ポストされたビュー モデルの値を使用します。これは、1 つのビューが、1 つのビュー モデル インスタンスの 1 つのプロパティに対して 2 つの異なる値を表示できることを意味します。

ここに画像の説明を入力

これはアクションメソッドの非常に単純化されたバージョンです...

...そしてビューモデル...

...そして、上の画像を作成するために使用されたビュー...

MVC ビューがモデル データを検出する方法を誤解しているようです。渡されたビュー モデルにフォーム コントロールをバインドするようビューに明示的に指示するために使用する代替構文はありますか?

ありがとう、

ティム。

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

asp.net-mvc - Implement a common function in multiple Razor views

In a View, I have a Razor code like

However, how can I share that code with other Views without copy/paste it in all the Views?