問題タブ [dotvvm]
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 - dotvvm フレームワーク上の 2 つのテーブルの linq
私は最近 C# と DotVVM を学び始めましたが、問題が発生しました。2 つのテーブルから linq クエリを作成する方法がわかりません。1 つのテーブルに対してクエリまたは linq を作成する方法は知っていますが、2 つのテーブルで行き詰まりました。
私の著者データベース
書籍のデータベース
そして、これを取得するにはlinqクエリを作成する必要があります
私が使用するすべてのlinqクエリがあるサービスのクラスがあります。私が必要とするのは、本のリストを作成することですが、著者の名前と姓を取得することです。
これはリストのビューです:
最終的に結果は次のようになりますが、"Jméno a příjmení autora" の数字は Autor の姓名で表示されます。現在、 は Author's Id です。
この質問は非常に長いことは承知していますが、アドバイスをいただければ幸いです。
c# - DotVVM でリモート IP アドレスを取得する
AspNet.Core と .NET Framework 4.7.1 を使用して、DotVVM フレームワーク (ver 1.1.9) を使用してアプリを構築しています。ある時点で、リモート ユーザーの IP アドレスを記録する必要があります。ViewModel 内でそれを取得する方法はありますか? 私は多くのチュートリアルを見てきました
プロパティContext
を持つ ViewModelBase にプロパティHttpContext
がありますが、それは組み込みIHttpContext
インターフェイスであり、適切な ではありませんHttpContext
。
しかし、実際に私が探していたものと思われるプロパティを含む既存のIHttpContext
ものをキャストできることがわかりました。DotvvmHttpContext
OriginalContext
したがって、問題は、これが「安全な」アプローチであるか、元の AspNet HttpContext またはリモート IP アドレスに直接アクセスするための「適切な」方法があるかということです。
gridview - DotVVM: GridViewTemplateColumn ContentTemplate 内でカスタム バインディングを使用する
KO 用の jQuery AutoComplete バインディングを作成しました。用語による提案のサーバー側検索を実行できます。また、ID によってサーバーから取得した単一の値をテキスト ボックスまたは非入力 html 要素に入力することもできます。これまでのところ、問題なく動作しています。
同じバインディングを ContentTemplate に配置すると、GridView の最初のレンダリング中にすべてのバインディングが正常に機能し、アイテム内の各 ID のデータがサーバーから取得され、正しい名前がスパンに挿入されます。
グリッドの 2 番目のページに移動しようとすると、メイン データがサーバーから取得され、各行項目の新しい ReviewObjectId-s が取得されますが、サーバーは要求されません (Chrome デバッガーのネットワーク タブに要求はありません) )、さらにバインディングはまったく初期化されていないため、名前は前のページとまったく同じように表示されます。ほとんどの場合、ページャーで最後のページに移動するまで、またはページャーでより多くのページング番号がレンダリングされるまで、同じ動作が発生します。次のページをクリックするとうまくいく場合があります
各行に同じ名前を表示するように DataSource をフィルタリングすると (すべての項目に同じ対象の ReviewObjectId があります)、多くの場合、同じ結果が表示されます。
カスタムバインディングは次のようになります
「検索」は、提案のリストを生成するオートコンプリート API URL です。
「get」は、ID (ReviewObjectId) によってエンティティを提供するフィル API URL です。
受け取ったJSONをviewModelにマッピングするためのTextItemとValueItemが用意されています。
GridView、DataPager、フィルターの両方で DataSource と同じ GridViewDataSet を使用しています。データソースは常にページとフィルターの値に従って正しくフィルター処理されます。
私は何を間違っていますか?どこまで掘ればいい?
UPD: バインディング:
asp.net - Dotvvm - 検証エラーのクリア
dotvvm 2.0 アプリケーションにフォームがあります。ポストバックを実行し、ビューモデルをエラーで検証すると、関連するコントロールの css クラスが「無効」に設定されます (Validator.InvalidCssClass="is-invalid")。これらの検証エラーをクリアして、css クラスをデフォルトに設定することは可能ですか?