問題タブ [renderpartial]
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 - マスターページからのHtml.RenderPartial呼び出し
シナリオは次のとおりです。異なるタイプのコンテンツ(ページと記事)の表示を担当する2つのコントローラーを備えたサイトがあるとします。マスターページにパーシャルビューを埋め込む必要があります。マスターページには、いくつかの基準でフィルタリングされたページと記事が一覧表示され、各ページに表示されます。マスターページでモデルを設定できません(正しいですか?)。Html.RenderPartialを使用してこのタスクを解決するにはどうすればよいですか?
[編集]はい、記事とページを一覧表示するために個別の部分ビューを作成する可能性がありますが、それでも、マスターページにモデルを設定できない、または設定すべきではないという障壁があります。私のrenderpartialの議論として、また記事についても、どういうわけか「ここにページがあります」と言う必要があります。マスターページのデータベースからのデータを使用したrenderpartialの全体的な概念は、私には少しぼやけています。
c# - 別のフォルダーから部分的にレンダリングする (共有されていない)
ビューに別のフォルダーから部分 (ユーザー コントロール) をレンダリングさせるにはどうすればよいですか? プレビュー 3 では完全なパスを指定して RenderUserControl を呼び出していましたが、プレビュー 5 にアップグレードすると、これができなくなります。代わりに RenderPartial メソッドを取得しましたが、探している機能が提供されていません。
asp.net-mvc - ASP.NET MVC Beta 1-Html.RenderPartialはどこにありますか?
私はプレビュー5アプリケーションをベータ1にアップグレードしているところですが、コントロールをレンダリングしようとしたときのこの1つのエラーを除けばほぼそこにいます。
「System.Web.Mvc.HtmlHelper」には「RenderPartial」の定義が含まれておらず、「System.Web.Mvc.HtmlHelper」タイプの最初の引数を受け入れる拡張メソッド「RenderPartial」が見つかりませんでした(usingディレクティブがありませんか?またはアセンブリリファレンス?)
私のマークアップ(.aspxコンテンツページの表示)は次のとおりです。
Microsoft.Web.Mvcを使用してみましたが、役に立ちませんでした。Html.RenderPartialがどこに行ったのか、またはどのような代替手段を使用できるのかを誰かが知っていますか?
asp.net-mvc - 他のviewdataからRenderPartialにメンバーとしてViewdataを渡すと、最初のnullが作成されます
強く型付けされSearchViewData
たものには、色と呼ばれるフィールドがあり、そのフィールドは次のようになりColorViewData
ます。私の場合、指定された検索条件に基づいて/Colors.mvc/search
これを入力します。viewData.Model.Colors
次に、いくつかの要因に基づいて、で自分自身をレンダリングできる一連のユーザーコントロールの1つをレンダリングしますColorViewData
。
だから私は最終的に:
これは以前は問題なく機能していましたが、beta1にアップグレードしてから、ユーザーコントロールは常に次のようになります。viewdata = null;
提案?
jquery - rails:has_manyを更新する方法:jQuery経由でリレーションを介して?
初心者の質問で申し訳ありませんが、Rails と jQuery を使い始めたばかりです。次のシナリオがあります。
contacts
、companies
およびcontact_company_joins
(ccj)の3つのクラスがあります。私が作成した 3 つのクラスすべてについてmodels
、controller
およびviews
. 明らかに、連絡先と会社は結合テーブル ccj (を使用has_many :through
) を介して接続されます。
contacts <-> contact_company_joins <-> companies
連絡先の「表示」ビューで、連絡先が接続されているすべての会社 (および電話番号などの会社自体に関する追加情報) を一覧表示するテーブルを表示したいと考えています。私の会社の見解では、私は同じことをしたいと考えていますが、今回は従業員 (連絡先) の詳細についてです。テーブルの各行には、最後に典型的な「削除」リンクがあり、その関数を jQuery 関数の 1 つに接続しました。
両方のビュー (連絡先と会社) で、削除アクションによって ccj コントローラーの破棄機能が表示されます。私が今やりたいことは、削除機能を呼び出している個々のサイト (連絡先または会社) のテーブルを更新または再レンダリングすることですが、テーブルの一部のみです。上記の「成功」関数で実装する必要があると思いますか?しかし、繰り返しになりますが、ccj のコントローラーから何かを返したとしても (レンダリングされた部分的なものですか?)...それは連絡先ビューと会社ビューの両方で同じですよね? ccj オブジェクトを破棄するための Ajax 呼び出しの後、連絡先のビュー (新しい会社のテーブル) 用の新しい DOM オブジェクトを取得するだけでなく、私の会社の見解?
これがすべて理にかなっていることを願っています:-)
よろしく、
セバスチャン
ruby-on-rails - Railsパーシャルの条件付き書式
Rails パーシャルをレンダリングしていますが、パーシャルをレンダリングするときに背景色を変更したいと考えています。私はそれが非常に明確ではないことを知っているので、ここに私がやりたいことの例があります:
行 1 の灰色の背景 行 2 の黄色の背景 行 3 の灰色の背景 行 4 の黄色の背景- 背景色が表示されないようにスタックオーバーフローの継ぎ目が申し訳ありませんが、これで私の考えが明確になると思います
これは私が使用しているビューコードです
_row.html.erb パーシャルは次のようになります
問題は、1 行おきに背景色を変更する方法がわからないことです。これを行う方法はありますか?
asp.net-mvc - ASP.Net MVC および RenderPartial と相対パス
ASP.NET MVC をいじっていて、質問がありました。あるいは、私がこれを間違っているのではないかと心配しているのかもしれません。私の翼を少し伸ばすために、不自由なサイトに取り組んでいます。申し訳ありませんが、この質問はまったく簡潔ではありません。
よし、これがシナリオだ。ユーザーがホーム/インデックスにアクセスすると、ページには製品のリストと記事のリストが表示されます。ファイルレイアウトは次のとおりです(DALは私のデータアクセスレイヤーです):
ただし、このアプローチは失敗します。このアプローチは私には理にかなっていますが、これらの MVC プラットフォームの経験が豊富な人なら、より良い方法を認識するでしょう。
上記は、View.Product.List 内でエラーを生成します。Html.RenderPartial("Single",...)
「Single」ビューが見つからなかったと不平を言う呼び出し。エラーは次のことを示しています。
Product のビューから RenderAction() を呼び出していたので、ランタイムが Views\Product 内の "Single" ビューを探すことを期待していました。ただし、ルックアップは、現在のビューではなく、元のビュー (/Controller/Home によって呼び出された /Views/Product) を呼び出したコントローラーに関連しているようです。
したがって、次のように Views\Product を変更することでこれを修正できます。
それ以外の
この修正は機能しますが、ビューのフル パスを指定する必要がある理由がわかりません。相対名が元のコントローラーのビュー パスではなく、現在のビューのパスに対して相対的に解釈されることは、私には理にかなっています。現在のビューではなく、コントローラーのビューに関連する名前を解釈することが役立つ便利なケースは考えられません (それらが同じである典型的なケースを除いて)。
この頃、私はクエスチョンマークを持っているべきですか?これを強調することは、実際には問題です。
asp.net-mvc - モデルとViewDataアイテムの両方でViewDataDictionaryを作成するための省略形?
ViewDataDictionary
1行のコードでモデルと追加のプロパティを使用して を作成する方法はありますか? RenderPartial
複数行にわたって ViewDataDictionary を明示的にアセンブルせずに、モデルといくつかの追加の表示構成プロパティの両方をアセンブルしながら、厳密に型指定されたビューを呼び出そうとしています。RenderPartial
モデルobject
と a の両方を使用するオーバーロードを考えると、それは可能であるように思われますが、両方ViewDataDictionary
が設定されている場合は単に を無視するように見えViewDataDictionary
ます。
同じ問題を抱えている他の人を見つけましたが、彼らの解決策は、私が見つけたのと同じ複数行の概念です。ViewDataDictionary
モデルで離散を作成し、新しいパラメーターを追加して、RenderPartial
呼び出しで使用します。
ChainedAdd
新しい要素が追加された重複した辞書を返すメソッドにそのロジックをいつでもラップできますが、ViewDataDictionary
これを行う を作成する方法が欠けているようです (そして、それは私が望んでいたよりも少し多くのオーバーヘッドです)為に)。
同様に、ModelState が読み取り専用であるためViewDataDictionary
、明示的Model
でModelState
単純にアセンブルしようとすると、コンパイル エラーが発生します。
ANSWER(S): Craig と私は、仕事を成し遂げる 2 つの別々の構文を見つけたようです。この場合、私は間違いなく偏っていますが、最初にモデルを設定してから「装飾」するというアイデアが好きです。
もちろん、彼の[最終的には的確な]回答がなければ、私はまだ車輪を回転させているので、円は四角になります.
asp.net-mvc - 'RenderPartial'の問題を解決するためのASP.NETMVCのModelFactory
ASP.NET MVCの「RenderPartial()」メソッドは、非常に低レベルの機能を提供します。真の「サブコントローラー」モデルを提供したり、提供しようとしたりすることはありません*。
'RenderPartial()'を介してレンダリングされるコントロールの数が増えています。それらは3つの主要なカテゴリに分類されます。
1)そのページのモデルを使用する特定のページの直接の子孫であるコントロール
2)特定のページの直接の子孫であり、そのページのモデルを特定の タイプの追加のキーとともに使用するコントロール。'DataRepeater'の実装を考えてください。
3)表示されるページに関連のない機能を表すコントロール。これは、バナーローテーターから、フィードバックフォーム、ストアロケーター、メーリングリストのサインアップまで、何でもかまいません。重要なのは、どのページに配置されているかは関係ないということです。
モデルの動作方法により、ViewData
リクエストごとに1つのモデルオブジェクトしか存在しません。つまり、サブコントロールに必要なものはすべてページモデルに存在する必要があります。
最終的に、MVCチームは真の「サブコントローラー」モデルを作成することを望んでいますが、それまでは、子コントロールにも必要なものをメインページモデルに追加するだけです。
上記の(3)の場合、これは「ProductModel」のモデルに「MailingListSignup」モデルのフィールドが含まれている必要がある可能性があることを意味します。明らかにそれは理想的ではありませんが、私はこれを現在のフレームワークとの最良の妥協点で受け入れました-そして将来のサブコントローラーモデルへの「ドアを閉める」可能性は最も低いです。
モデルは実際にはデータをどこから取得するかを知らないダムデータ構造である必要があるため、コントローラーはモデルのデータを取得する責任を負う必要があります。しかし、コントローラーがいくつかの異なる場所でモデルを作成する必要はありません。
私が始めたのは、モデルを作成するためのファクトリを作成することです。このファクトリはコントローラによって呼び出されます(モデルはファクトリについて認識していません)。
ですから、私の実際の質問は、この同じ問題を抱えている他の人々が実際にモデルをどのように作成しているかということです。新しいMVC機能との将来の互換性のための最良のアプローチは何でしょうか?
- 注意:ここでは取り上げ
RenderAction()
ない問題があります。特に、MVCContribのみであり、ASP.NET-MVCのRTMバージョンには含まれないという問題があります。他の問題は私がそれを使わないことを選んだ十分な問題を引き起こしました。それで、今のところRenderPartial()
存在するだけのふりをしましょう-または少なくともそれは私が使用することに決めたものです。
asp.net-mvc - null モデルの renderpartial に間違った型が渡される
私はページを持っています:
そして、その上で、次のとおりです。
DTO オブジェクトは次のとおりです。
ここに部分的なものがあります:
Model.Tasks が null でない場合、すべて正常に動作します。ただし、 null の場合は次のようになります。
ディクショナリに渡されたモデル アイテムのタイプは 'DTOSearchResults' ですが、このディクショナリにはタイプ 'System.Collections.Generic.IEnumerable`1[Task]' のモデル アイテムが必要です。
どのオーバーロードを使用すればよいかわからないと考えたので、明示的にこれを行いました (以下を参照) が、それでも同じ問題が発生します!
null をチェックするか、null を渡さなくても、これを回避できることはわかっていますが、それは重要ではありません。なぜこうなった?