問題タブ [displayfor]

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

c# - Html.DisplayFor はタグをプレーンテキストとして表示します

出力テキストのスクリーンショット

これは、このコードが提供する出力ですが、出力は「テスト」のみである必要があります。Span タグを非表示にする方法は?

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

c# - ASP.NET Core MVC での DisplayFor パフォーマンスの低下

現在のアプリケーションでは、ユーザーに表示するかなり長いテーブルを生成しています。@Html.DisplayFor の使用を追跡したところ、いくつかの深刻なパフォーマンスの問題が見られましたが、その理由は完全にはわかりません。

編集: コード サンプルをより簡潔で再現可能な設定に置き換えました。

問題を切り分けるために、ビジュアル スタジオのすべてのデフォルト設定を使用して、認証なしで新しい asp.net コア MVC プロジェクトを作成しました。ビューモデルを次のように作成しました。

次に、ビュー モデルにデータを入力してビューに渡すコントローラーを追加しました。

ビューは、データを表示するために最低限必要なものです。

このコードを実行すると、実行に 1 秒以上かかります。犯人は DisplayFor です。次のようにビューを変更すると:

これは 13 ミリ秒でレンダリングされます。DisplayFor がレンダリングに膨大な時間を追加していることは明らかです... 私の PC では、呼び出しごとに約 0.4 ミリ秒です。それは単独では悪くありませんが、リストやその他のものにとってはかなり悪い選択になります.

本当にDisplayForそれだけで遅いですか?それとも私の使い方が悪いのでしょうか?

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

c# - c# mvc ヘルパー拡張 Html.DisplayFor

時間後。後でインターネット。あと毛抜き。

Prs_Role_ID_Deleted は int です。

私の Details.cshtml では、model.Prs_Role_ID_Deleted = 0 (ゼロ) の値の場合、"" (空の文字列) を出力するようにしています。

問題は、 model => model.Prs_Role_ID_Deleted の値を取得できないことです。プロパティ名を取得できます。model.Prs_Role_ID_Deleted を取得できます。

22 に等しいはずの model.Prs_Role_ID_Deleted の値を取得できません。

値を確認することは不可能だと思い始めています。


ありがとうSLaks。それが解決策でした。

他の開発者向けの投稿ソリューション。

AFTER SLakのアドバイス