問題タブ [viewbag]

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 投票する
2 に答える
787 参照

model-view-controller - Global data across MVC controller

I have number of action methods in my controller that retrieve data from web services or database. Along them there are other action methods in the same controller that use that data. As I would love to prevent unnecessary data retrieval I'd like to know what would be the best practice to share that data with the other methods without using cookies or sessions?

Is it acceptable to use global properties in the controller?

0 投票する
8 に答える
86616 参照

asp.net-mvc-3 - ASP.NET MVC3 の部分ビューで ViewBag にアクセスできない

ビューを呼び出すコントローラーがあります。ビューにはPartialViewbe と呼ばれるものがあり、@Html.Partial("ViewName", model).これは正常に機能します。

しかしcontroller、ビューに渡すビューモデルに入れるのが難しいものをビューバッグに入れたいと思っています。メイン ビューでは に問題なくアクセスできますが、ViewBagではPartialView何も返されません。

この場合に を使用することは可能ですか、それともこのデータをビューに渡すモデル (および に渡すモデル、および最初の にネストされたに渡すモデル)ViewBagに「ハック」する必要がありますか?PartialViewPartialViewPartialView

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

javascript - シングルQouteで文字列をMVCRazorからJavaScriptに渡す

これはとても単純なようで、恥ずかしいことです。ただし、最初の質問は、MVC 3.0(Razor)の新しいViewBagからJavaScriptブロックに値を渡す場合ですが、これは正しい方法ですか?さらに重要なことに、適切な文字列置換コードをどこでどのように適用して、以下の結果のアラートのように一重引用符が&#39になるのを防ぎますか?

これを単一のスクリプトブロックに追加します。

次のアラートが発生します。

ここに画像の説明を入力してください

0 投票する
5 に答える
7298 参照

c# - ASP.NET MVC 3 ViewBag のようなクラスを作成しますか?

実行時にプロパティが作成される ASP.NET MVC 3 ViewBag オブジェクトで行われたことと同様のことをしたい状況がありますか? それともコンパイル時ですか?

とにかく、この動作でオブジェクトを作成する方法を知りたいと思っていましたか?

0 投票する
4 に答える
4669 参照

c# - ViewData を null にできますが、デバッガーで展開できますか?

ビューのデバッグ中に興味深い効果に遭遇しました。シナリオは簡単に再現できます。View追加したウォッチ ウィンドウにブレークポイントがViewBag.ViewDataあり、値はnullです。ViewBagただし、オブジェクトを追加して展開するだけで、 が表示され、ViewDataではありませんnull。また、正常に展開してそのプロパティを確認することもできます。

それがバグなのか、それともこの動作の原因なのか、誰か説明できますか?

ウォッチ ウィンドウの ViewBag.ViewData

編集

ViewBag.ViewDataは実際にnull。たとえば、ビューにこのコードがある場合:

スパンを表示します。奇妙な点は、ウォッチ ウィンドウで展開してプロパティを表示できることです。

EDIT2

@Darin Dimitrov の回答に応えて - カスタム テスト クラスでこの動作を再現しよRuntimeBinderExceptionうとしましたが、プライベート プロパティにアクセスしようとすると、次のようになり'SomeClass.SomeProperty' is inaccessible due to its protection levelます。

この場合、ViewBag.ViewDataView でアクセスしたときに同じ例外が発生するのではないif (ViewBag.ViewData == null)でしょうか ( の行)。

0 投票する
4 に答える
38531 参照

javascript - MVC:javascriptでViewbag配列を反復処理

目標は、からViewBag.ArrayJavascript配列にデータを取得することです。データはコントローラーで計算されるため、データベースから直接取得することはできません。jqplotでグラフを描くためのデータが必要です。コード:

問題は、の「「i」は現在のコンテキストに存在しません」ですが、では@ViewBag.Array[i]問題ありませんjScriptArray[i]。どんな助けでも大歓迎です。

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

asp.net-mvc - MVC 3.0 のビュー間でデータのリストを渡す方法は?

Music Store のチュートリアルに従って初めての MVC アプリを構築していますが、厳密に型指定されたビュー間でデータを渡そうとすると、いくつかの問題が発生しました。

独自の厳密に型指定されたビューを持つ 2 つのデータ型があります

お客様 お客様 サイト

顧客サイトのインデックス ビュー (多数の顧客サイトを返す) では、各サイト アドレスの横に顧客名を表示する必要があります。ビューは顧客サイトに厳密に型指定されていますが、顧客名は顧客テーブルに格納されているため、表示されません。モデルからこれに直接アクセスできますか?

ビューバッグを使用するオプションがあることはわかっています。次のコードを使用して、作成ビューのドロップダウン リストに顧客名を表示することに成功しました。

顧客サイト コントローラ/////////

インデックスビュー//////////

これは正常に機能しますが、ドロップダウン リストではなく、テーブルの各行に顧客名を挿入する必要があります。顧客サイトのインデックス ビューのテーブルに表示される顧客名のリストを取得する方法について、誰か親切に教えてもらえますか?

また、viewbag はビュー間でデータを渡すための最良の方法ですか、それとも他の代替方法はありますか? 複数のデータ型を持つビューを強く型付けする方法はありますか?

誰もが提供できるアドバイスは素晴らしいでしょう。

敬具

リアム

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

asp.net-mvc - viewbag を使用して厳密に型指定されたビューにリストを返す

ビューバッグを使用して顧客のリストを強く型付けされたビューに戻そうとしていますが、MVC と Razor を初めて使用するため、いくつかの問題があります。次の問題について誰か親切にアドバイスをいただけますか?

コントローラーに次のコードがあります。

そして私の見解ではこのコード

顧客と顧客サイトのリストを取得しています。サイトはビューに入力されています。

を使用して顧客のリストから CustomerName を抽出しようとしています

しかし、これは「顧客」タイプに顧客名の定義が含まれていないというエラーを生成していますが、以下に示すようにエラーが発生している理由がわかりません。

アップデート:

これで必要なことを実行することはまだできません。次を含むマスタービューモデルを作成しました

それから私の見解では、

for each を使用して入力してモデルにアクセスしようとすると、

@customer と入力すると。リスト内の個々のプロパティではなく、2 つのリストにのみアクセスできます。

たとえば、@customer.CustomerSites.UnitNoでこれを行うことができたと思いました

しかし、私ができる限りのことは @customer.CustomerSites です。

ここで私が間違っていることについて何か考えはありますか?

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

asp.net-mvc - viewbag を使用して 1 列のデータをリストとして厳密に型指定されたビューに渡す方法

viewbag を使用してリスト内の 1 列のデータを厳密に型指定されたビューに渡す方法について、誰でも正しい方向に向けることができます。厳密に型指定されたビューを使用して CustomerSites のリストを渡しています。また、リスト内の各 CustomerSite の横に CustomerName を表示したいと思います。

次のアプローチを試しましたが、コントローラーが顧客のリストを返すため、ビューから CustomerName プロパティにアクセスできません。ビューからこのプロパティにアクセスすることは可能ですか?

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

layout - レイアウトページが〜/ Views / Sharedの外にあるときに、RazorがViewBag、Url.Contentなどを表示できないのはなぜですか?

NuGetパッケージとして他のプロジェクトにドロップできるCSSフレームワークに取り組んでいます。

物事をきれいに保つために、フレームワーク全体(ビュー、スタイル、画像、マスターページ/レイアウトページ)は実際には〜/CssThing/の下に保存されます

WebFormsビューエンジンと完全に連携しますが、_layout.cshtmlファイルを〜/ CssThing /に移動してから、Razorページを次のように変更すると次のようになります。

ViewBagが定義されていない、またはThe name 'Url' does not exist in the current contextビューが適切な基本クラスから継承されていないことを示唆するその他のさまざまな奇妙な点について不平を言い始めます。

どうすればこれを機能させることができますか?

注:すべてがこのように分割される理由は、NuGetに既存のコードを強制的に上書きさせる方法がなく、すべてのjQueryなどの参照を取得せずに空のMVC3 Webアプリケーションを起動する方法がないため、フレームワークを危険にさらすのではなく半分のファイルがすでに存在していたために半分がデプロイされ、すべてを完全に分離しています。