問題タブ [display-templates]

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

asp.net-mvc-4 - MVC4がエリア固有のViews/Shared / DisplayTemplatesフォルダーを検索しないのはなぜですか?

一部のコードをMVC3プロジェクトからMVC4プロジェクトに移動しようとすると、この問題が発生します。DisplayTemplates次のように、エリア内にいくつかあります。

には、に強く型付けされMyHomeControllerたビューを返すアクションがあります。MyHomeViewModelにはプロパティが含まれています。'MyHome.cshtml'ファイル内には、次のものがあります。MyHome.cshtmlMyHomeViewModelIEnumerable<MyEmailAddress>

ただし、これはMyEmailAddress.cshtmlテンプレートをレンダリングしていません。次の両方で同じ結果:

ただし、MyEmailAddress.cshtmlファイルをルートWebプロジェクトのViews/Shared/DisplayTemplatesフォルダーに移動すると、このテンプレートを使用してレンダリングされます。

何らかの理由で、DisplayFor HtmlHelperは、エリア固有のViews / Shared / DisplayTemplatesフォルダーを検索していないか、そのフォルダー内で他の何かを検索しています。

私は何が間違っているのですか?これはMVC3で機能しますが、MVC4プロジェクトでは正しく理解できないようです。

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

string - 表示テンプレートを作成するときにモデルからプロパティを取得する方法

私はモデルを持っています...

電話番号を具体的にフォーマットしたい。私は自分の電話番号とおそらく他の電話番号の上にUIHintを置きたいだけです。すべての文字列をフォーマットしたくありません。

私はこのようなことを試みています...

これは、コメントアウトされているUIHintで参照されている表示テンプレートになります。そうすると、文字列が表示されなくなります。私は何が間違っているのですか?

表示テンプレートで、文字列を解析してからフォーマットするにはどうすればよいですか?

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

binding - DisplayTemplate をノックアウト バインディングに置き換える

現在、DisplayTemplate を使用してモデルのプロパティを表示しています。

テンプレートは、モデル (TheProperty) が null かどうかによってソースが異なる画像の html を出力します。

現在、ビュー内のすべてのバインディングをノックアウト バインディングに置き換えています。DisplayTemplates を使用できなくなったようですね。コントロールが js ViewModel にバインドされているため、テンプレートに Model を渡すにはどうすればよいですか?

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

c# - CSS 表示テンプレート クラス名の余分なスペース

C# MVC4 アプリケーションで表示テンプレートを使用して、カスタム モデルをビュー内のデータ テーブルに表示する方法を構造化しています。データテーブルについては、datatables.net を使用しています。次のコードでは、それぞれ<td>に「aligned」というクラス名を付けていますが、アプリケーションを実行して要素を調べると、割り当てられたクラス名の末尾に「aligned」などの空白が含まれています。

なぜこれが起こっているのか誰でも説明できますか?

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

javascript - JavaScript/jQuery が、Ajax で読み込まれたエディター/表示テンプレートで機能しない

オブジェクトのダウンライン全体のエディターと表示テンプレートを作成しました。

これで、内部オブジェクトのテキスト ボックスの 1 つが日付ピッカーになります。

問題は、を使用した初期ロードの後に​​ロードされAjax、含まれているスクリプトが機能しないことです。

テンプレートの下部に次のスクリプトを含めようとしましたが、スクリプトはレンダリングされますが、何もしません:

上記のコードでは、スクリプトが実行されていないことを証明するためだけにダミー アラートも追加しました。

外部ページのセクション定義にスクリプトを含めようとしましたが、テンプレートと部分ビューには設計上セクションを含めることができないため、機能しません (これを読む)。

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

asp.net-mvc - MVC DateTime 形式を解析できません

最近 MVC3 から 4 にアップグレードした後、日時に関する問題が発生しています。次のような日付プロパティを表示します。

「datetime」は、次のような表示テンプレートです。

私の global.asax ファイルでは、次のモデル バインダーを登録します。

次のようになります。

日時はビューに正しく表示されますが、フォームが送信されると、日付は次のように返されます: "7/20/2013 12:00:00 AM" と DateTimeModelBinder が Format Exception: String was not registered as a としてスローされます。有効な日時。(ニュージーランドでは月と日が逆です)。

なぜこの形で戻ってくるのですか?なぜそれを解析できないのですか?MVC 4 にアップグレードすると、なぜこのようなことが起こったのですか? NZ形式で返すにはどうすればよいですか? 解析時にカルチャを指定しないほうがよいのですが、これは以前の MVC バージョンで必要だったのでしょうか?

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

asp.net-mvc-4 - MVC4 Razor DisplayTemplate が呼び出され、HTML が生成されましたが、ブラウザーにレンダリングされませんでした

DisplayFor()コレクションを反復処理し、コレクション内の各要素を呼び出すビューがあります。

リストの区切りを描画する必要があるかどうかをテンプレートに伝えるために、(コレクションを DisplayFor に渡すのではなく) 手動で繰り返す必要があります。リスト内の項目は 2 種類のみで、順番に並べられているため、このブレークを表示する必要があるのは 1 回だけです。

テンプレートが見つかり、正しく呼び出されました。
正しく生成された HTML を確認できます。 つまりDisplayFor().ToHtmlString()
、この HTML をスコープ変数として設定できます。var html = DisplayFor().ToHtmlString()
Html.Raw(html)

どうしたの?

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

asp.net-mvc - ネストされた表示テンプレートを使用するときに、Razor が入力にプレフィックスを追加しないようにするにはどうすればよいですか?

ネストされた表示テンプレートを使用し、HTML ヘルパーを使用して入力要素を追加すると、Razor エンジンがフィールド名にプレフィックスを追加します。

これは、ページ レベルでの入力名の一意性を保証するため (およびポスト バック時にモデル全体を再構築するため) に行われることを理解しています。

ただし、アドホック アクションを実行する小さなフォームが多数あり、名前の一意性もモデル全体を再構築する機能も必要ありません。

その単一のプロパティ値が必要なだけで、すべての名前が異なるため、Razor で入力項目名を変更すると、フォームの 1 つを送信するとモデル バインダーが壊れます。

この例には、単純化されたネストされたモデルが含まれています

Index3 つのネストされた表示テンプレートを含むビューがあります

成績表示テンプレートに、成績を削除するボタンを追加します

リクエストの反対側で、コントローラーアクションがグレードIDを受け取ります

モデルヘルパーを使ってやろうとすると

HTML要素を取得します

ここで、フィールド名には、親のビュー モデル ツリー全体に基づいたプレフィックスが付けられます。

「手動」ヘルパーの使用

HTML要素を与える

最後に私の名前が付いていますが、接頭辞はまだ存在します。

非表示の入力を手動で追加する

HTML要素を与える

それが私が欲しいものです。

私が望むものを達成することは可能ですか、それとも表示テンプレートが間違っていますか?