問題タブ [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.
asp.net-mvc - MVC3で部分ビューでセクションをレンダリングするにはどうすればよいですか?
MVC3プロジェクトには、このコードを含む「_Layout.vbhtml」ファイルがあります
次に、共有フォルダーに部分ビュー「ValidationScripts.vbhtml」があります。
このようなビューから部分ビューを呼び出すと...
セクション「スクリプト」はページにレンダリングされず、出力HTMLは次のようになります。
部分ビューでセクションをレンダリングするにはどうすればよいですか?
asp.net-mvc - ASP.NET MVCを使用して、あるテーブルからラベルを作成し、その値を別のテーブルに格納するにはどうすればよいですか?
データベースにFieldというテーブルとFieldValueというテーブルがあります。私のモデルは次のようになります。
各フィールドをラベルとして表示し、次にそのフィールドに関連付けられている各FieldValueのテキストボックスを表示したいのですが、これにどのようにアプローチするかがよくわかりません。それが重要な場合は、MVC4を使用しています。
asp.net-mvc - 1 回の送信でモデルを複数回保存するにはどうすればよいですか?
私はモデルを持っています:
私の作成ビューは次のようになります。
したがって、各テキストボックスはデータベース内の新しいレコードになります。このようなことは可能ですか?どうすればこれを処理できますか? また、私の最大の問題は、各フィールドがテキストボックスまたはコンボボックスまたはラジオになる可能性があることです....など...名前はたとえばテキストボックスかもしれませんが、年齢はコンボボックスかもしれません....すべてのテキストボックスがあることはわかっていますが、それは変わる可能性があります。
asp.net-mvc - MVCビューで「マジックストリング」を処理する方法(例:要素id:s?)
私のMVCビューでは、JavaScriptのさまざまな要素を頻繁に参照する必要があります。そのために、これらの要素のid属性を定義します。これは多くの場合、さまざまなコンテナ要素のコンテンツを更新するAjax呼び出しと関連しています。
短い例(かみそり):
これには、「PersonList」、「PersonDetails」、「CurrentPersonId」の3つの「マジックストリング」が含まれています。Ajax呼び出しは次のようになります。
ここでも、マジックストリング「PersonDetails」が表示されます。
良くない!
これらの魔法の文字列を1つの場所で定義し、1)ビュー、2)できればAjax呼び出しなどを実装する静的JavaScriptファイル、および3)CSSファイルで使用するための「ベストプラクティス」を提案できますか?
おそらく_Layout.cshtmlには、そのコントローラーまたは特定のアクションの魔法の文字列を定義する部分的なビューが含まれている可能性があると思います。それは、どのコントローラーおよび/またはアクションがそれを呼び出したかを調べ、それに基づいて適切な部分ビューを呼び出します。私はすでに.cssとstatic.jsに対して同様のことを行っており、Person.cssを追加するだけで、Personコントローラーのすべてのビューに自動的に含まれるようになります。
部分ビューは次のようになります。
これにより、RazorコードはC#文字列constsを使用して適切なHTMLを生成でき、静的JavaScriptファイルはjQueryセレクターなどでNamesAndIdsを参照できます(部分ビューで定義されたconstsが呼び出し元のビューで使用可能であると想定していますが、これは疑わしいです(まだチェックしていません)...わからない.cssファイルでそれらを使用する方法。
より良い提案はありますか?この問題をどのように処理しますか?
asp.net-mvc-3 - ASP.NET MVC 3 ActionCacheを無効にする方法はありますか?
カスタム属性を使用して、実行時に外部データソースから入力できるモデルプロパティの選択コントロールを作成するASP.NETMVC3アプリケーションがあります。問題は、EditorTemplate
出力がアプリケーションレベルでキャッシュされているように見えるため、データソースが変更されても、アプリケーションプールがリサイクルされるまでドロップダウンリストが更新されないことです。
System.Web.Mvc.Html.TemplateHelpers.cs:95のMVC 3ソースコードに示されているようにActionCache
、オブジェクトにバインドされているMVC3のコンテンツも出力しました。ViewContext.HttpContext
- アクションキャッシュGUID
adf284af-01f1-46c8-ba15-ca2387aaa8c4
:: - アクションキャッシュコレクションタイプ:
System.Collections.Generic.Dictionary``2[System.String,System.Web.Mvc.Html.TemplateHelpers+ActionCacheItem]
- アクションキャッシュディクショナリキー:
EditorTemplates/Select
したがって、Select
エディターテンプレートは確実にキャッシュされているように見えます。これにより、TemplateHelper.ExecuteTemplate
メソッドは2回目の呼び出しではなく、常にキャッシュされた値を返しますViewEngineResult.View.Render
。
MVC ActionCacheをクリアする方法、またはRazorビューエンジンに特定のテンプレートを常に再レンダリングするように強制する方法はありますか?
参考までに、関連するフレームワークコンポーネントは次のとおりです。
次に、にカスタムエディタテンプレートがあり~\Views\Shared\EditorTemplates\Select.cshtml
ます。
最後に、ビューモデルがあり、プロバイダークラスと単純なビューを選択します。
**編集**
コメントの提案に基づいて、私はObjectContext
ライフサイクルをより詳しく調べ始めました。SelectProvider
いくつかの小さな問題がありましたが、この問題は、実装のLINQ式内のコールバックを含む奇妙な動作に限定されているようです。
関連するコードは次のとおりです。
そして、からキャプチャされた出力System.Diagnostics.Trace
は
ここで何がうまくいかないのかわかりません。Select
が必要かもしれないと思いましたがExpressions
、ダブルチェックしただけで、LINQSelect
メソッドはFunc
オブジェクトのみを取得します。
追加の提案はありますか?
asp.net-mvc - mvc4ビューエンジンのフォルダを追加して、でビューを検索します
私はMVC4を使用しており、ビューエンジンがビューを検索するためのカスタムの場所を設定したいと考えています。現在、ビューが存在することを期待しているフォルダーの外側の共有フォルダーのみを検索します。
ビューを探すためにさらに2つのフォルダーの場所を追加したいのですが、mvc4でこれをどのように実現できますか?現在のところ、それがどのように機能するかを操作したくはありません。それを調べるためにフォルダーを追加するだけです。
注:私はすでに、要求元のデバイスに基づいてレンダリングされたビューで表示モードを使用しています。変更によってこれに影響を与えたくありません。
c# - MVC4ルーティング/コントローラーロジック-基本的な問題
私は昨日これを機能させました、そしてそれが機能しなくなった理由は完全に私を超えています。次の基本的なシナリオがあります。
私のアプリケーションには、テナントと家主の2種類の役割があります。テナントがログインすると、テナントのプロフィールページに移動する必要があります。同じことが家主にも当てはまります(現時点では、テナントのみを扱っています)。
シナリオのワークフローは次のとおりです。
ユーザーは経由でログインし
_LoginPartial
ます。パーシャルのロジックは正しいと思いますが、何らかの理由で、ここにかみそりのコードを適切に貼り付けることができません...ログインボタンをクリックすると、のが呼び出され
/li>Login
ActionResult
ますAccountController
。このメソッドは、ユーザーを検証し、ユーザーがどのロールに属しているかを確認します。ユーザーがロールテナントに属している場合は、のにリダイレクトする必要がMyProfile
ActionResult
ありTenantsController
ます。のコードLogin
:呼び出される
/li>MyProfile
と、ユーザーのプロファイルが表示されます。のコードMyProfile
ActionResult
:
私が昨日これは機能していたと言ったが、ログインボタンをクリックすると次のエラーが発生する_RegisterPartial
:
ビュー「ログイン」またはそのマスターが見つからなかったか、検索された場所をサポートするビューエンジンがありません。次の場所が検索されました:〜/ Views / Account / Login.aspx〜/ Views / Account / Login.ascx〜/ Views / Shared / Login.aspx〜/ Views / Shared / Login.ascx〜/ Views / Account/Login。 cshtml〜/ Views / Account / Login.vbhtml〜/ Views / Shared / Login.cshtml〜/ Views / Shared / Login.vbhtml
MVCがログインと呼ばれるビューを探しているのはなぜですか?Loginというビューにルーティングするように指定していません。ルーティング/コントローラーロジックに何か問題がありますか?助けていただければ幸いです。
c# - MVC 4 - モデル データを部分ビューに渡すにはどうすればよいですか?
特定のモデル (テナント) に関連するいくつかのセクション (AboutMe、MyPreferences) を持つプロファイル ページを作成しています。これらのセクションのそれぞれが部分ビューになり、AJAX を使用して部分的なページ更新が可能になります。
ActionResult
TenantControllerをクリックすると、厳密に型指定されたビューを作成でき、モデル データがビューに正常に渡されます。部分的なビューではこれを達成できません。
部分ビューを作成しました_TenantDetailsPartial
:
次に、MyProfile
言及された部分ビューをレンダリングするビューがあります。
DIV 内のコードをラップする_TenantDetailsPartial
と@if(model != null){}
、ページには何も表示されないため、空のモデルがビューに渡されていると推測されます。
「セッション」のユーザーから強く型付けされたビューを作成するActionResult
と、ビューに渡されるのはなぜですか? から作成されていない部分ビューに「セッション」のユーザーを渡すにはどうすればよいActionResult
ですか? コンセプトについて何か不足している場合は、説明してください。
javascript - MVCビューで自動クリックイベントを呼び出す方法は?
MVC アプリケーションがあります。いくつかのプロパティとコメント リンクを含む 1 つのビューがあります。ユーザーがコメント リンクをクリックすると、コメント div が展開され、すべてのコメントがユーザーに表示されます。今、私はその機能を自動化したい、またはユーザーがすべてのコメントが表示されていることを確認したときに、そのクリックプロセスをスキップしたいと言うことができます。(リンクをクリックしなくても、すべてのコメントが表示されます)
どうやってするか ?
コードを表示
asp.net-mvc - @Html.DisplayName で EmailAddress が正しく表示されない
私はこのように表示しようとしています
結果は : com のみです。
なぜ?この場合、何を使用する必要がありますか
ここで私はもっと説明しています
私の意図は、グリッドを使用して非常に一般的なコンテンツを表示することです。
これはグリッド用の私の c# クラスです。私は Grid.data に値を割り当てています。viewbag を使用して、グリッド データをビューに送信しています。次に、これを部分ビューで使用しています。
ここに私の部分ビューコード
最後に、これで答えを得ました..しかし、bczには別の良い解決策があることに満足していません。