問題タブ [razor-3]
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.
asp.net-mvc - @Html.DropDownList が値の初期化に失敗する
3 か国のリストにデータを入力し、デフォルトで 2 番目の項目を選択しようとする単純なコードがあります。何らかの理由で、@Html.DropDownList が画面の 2 番目の項目を初期化していません。誰かがこのコードの問題点を指摘できますか?
以下は、画面上の出力です。
クイックウォッチ ウィンドウは、「選択済み」プロパティが値「2」に正しく設定されていることを示していますが、画面にはこれが反映されていません。
ビューのコードは次のとおりです
javascript - JQuery を使用して非表示の div コンテンツを表示する
私は2つのdivタグを持っています。最初の div タグをクリックすると、AJAX 呼び出しが行われ、2 番目の div タグが最初の div タグに置き換わります。
2 番目の div タグに [戻る] ボタンがあります。[戻る] ボタンをクリックすると、最初の div タグが 2 番目の div タグに置き換えられていることがわかります。
これが私のRazorコードです:
これが私のAJAX呼び出しです:
そして、ここに私のJQueryがあります:
最初の div タグの .html() コンテンツが AJAX 呼び出し後に空になることを確認しました。
AJAX で別の div タグに置き換えられた div タグを表示するにはどうすればよいですか? 最初の div コンテンツを表示するには、別の AJAX 呼び出しを呼び出す必要がありますか?
親切にアドバイス。
前もって感謝します。
visual-studio - MVC 5 で Razor IntelliSense とキーボード ショートカットの動作が欠落している - Resharper を使用した Visual Studio 2012
私は空のプロジェクトを開始し、このリンクMVC 5
のほとんどを使用して、別のプロジェクトからこのプロジェクトにほとんどのものをインポートしました。しかし、私はすぐに他の種類の問題を抱えていることに気付きました。それ以来、Visual Studio 2012 用の ASP.NET および Web Tools 2013.1 をダウンロードしてインストールしましたが、問題は部分的にしか解決しませんでした。
現在、私のRazor
構文は機能していますが、本当に素晴らしい機能がいくつか失われています。次に例を示します。
そのため、行を入力する@System.DateTime.Now
と、インテリジェンスが機能し、適切なオプションが提供されます。ただし、 と入力する<a href="@Url.Action("SearchOrders", "ManageOrders")">Orders</a>
と、以前は行を書いたときにSearchOrders
インテリジェンスがコントローラーに含まれるアクションの名前を提供していましたがMVC 5
、Visual Studio 2012
それはもはや当てはまりません。
そのため、欠落しているアクションを入力しても、サポートはアクションが欠落していることを警告したり、コントローラーでアクションを作成するように勧めたりしなくなります。F12
同様に、View()
行をヒットすると、ファイルVisual Studio 2012
を表示する代わりにメタデータ クラスが開き.cshtml
ます。
それらの機能を取り戻すために欠けているものはありますか? 私はMVC 4 Web Application
フレームワークを試してみましたが、うまくいきました。
ユーザー Erik がResharperのコード補完やその他の機能に関連していると指摘した後、私は現在、Resharper v 7.1.x が MVC 5 とその機能を処理できないように見える理由を探しています。
c# - ASP.NET MVC の IEnumerable モデルでカスタム エディター テンプレートを使用するための正しい慣用的な方法
この質問は、 Why is my DisplayFor not looping through my IEnumerable<DateTime>?のフォローアップです。
ささっとリフレッシュ。
いつ:
- モデルにはタイプのプロパティがあります
IEnumerable<T>
Html.EditorFor()
ラムダ式のみを受け入れるオーバーロードを使用して、このプロパティを渡しますT
Views/Shared/EditorTemplates の下にタイプのエディター テンプレートがあります。
次に、MVC エンジンは、列挙可能なシーケンス内の各項目のエディター テンプレートを自動的に呼び出し、結果のリストを生成します。
たとえば、Order
プロパティを持つモデル クラスがある場合Lines
:
ビュー Views/Shared/EditorTemplates/OrderLine.cshtml があります。
@Html.EditorFor(m => m.Lines)
次に、最上位ビューから呼び出すと、1 つだけでなく、各注文行のテキスト ボックスを含むページが表示されます。
ただし、リンクされた質問でわかるように、これは の特定のオーバーロードを使用する場合にのみ機能しますEditorFor
。テンプレート名を指定すると (クラスにちなんで名付けられていないテンプレートを使用するためにOrderLine
)、自動シーケンス処理は行われず、代わりに実行時エラーが発生します。
その時点で、カスタム テンプレートのモデルを として宣言しIEnumebrable<OrderLine>
、何らかの方法でそのアイテムを手動で繰り返し処理して、すべてを出力する必要があります。
そして、そこから問題が始まります。
この方法で生成された HTML コントロールは、すべて同じ ID と名前を持ちます。後でそれらを POST すると、モデル バインダーは の配列を作成できなくなりOrderLine
、コントローラーの HttpPost メソッドで取得するモデル オブジェクトは になりますnull
。
これは、ラムダ式を見ると理にかなっています。実際には、構築中のオブジェクトがモデル内の元の場所にリンクされているわけではありません。
アイテムを反復処理するさまざまな方法を試しましたが、テンプレートのモデルを次のように再宣言し、次のようIList<T>
に列挙することが唯一の方法のようfor
です。
次に、トップレベル ビューで:
これにより、送信時にモデル バインダーによって適切に認識される適切な名前の HTML コントロールが提供されます。
これは機能しますが、非常に間違っているように感じます。
EditorFor
エンジンがモデル バインダーに適した HTML を生成できるようにするすべての論理リンクを保持しながら、カスタム エディター テンプレートを で使用する正しい慣用的な方法は何ですか?
sql - SQL 2 where 句
私は自分のウェブサイトで実行しようとしているかなり単純なクエリを持っていますが、うまくいきません。私は 2 つの where 句を使用しています。はい、複数の where 句に関する他の多くの質問を見てきました。クエリははるかに複雑で高度であるため、私のクエリはそれらのクエリとは非常に異なっているため、実際には取得できません。私のために働く解決策。
これが私のクエリです。
クエリは「機能します」。エラーは発生せず、想定どおりにレポートが引き出されないだけです。
UserId は int です。リリースは少しです。
UserId = @0 は、Razor コードで使用されるスカラー変数です。
前もって感謝します。
c# - ASP.NET WebPages カスタム クラス
独自の「クラス」を作成できるかどうかを考えていました。たとえば、Users テーブルの下に「部門」システムを作成したい場合、cshtml ファイルで使用できる「クラス」を作成できますか?特定のユーザーが部門のメンバーであるかどうかを確認する必要があるたびに同じクエリを実行する必要がないのはどれですか?
たとえば、次のような場合:
前もって感謝します。