問題タブ [viewdata]

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

c# - 追加の ViewData を厳密に型指定された部分ビューに渡す

ProductImage を受け取る厳密に型指定された部分ビューがあり、それがレンダリングされるときに、それを含むページで動的に作成する追加の ViewData も提供したいと考えています。厳密に型指定されたオブジェクトとカスタム ViewData の両方を RenderPartial 呼び出しで部分ビューに渡すにはどうすればよいですか?

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

asp.net-mvc - RedirectToAction でビューデータを保持する

これは、redirectToAction の後にビューデータに「info」テキストを保持しません。この問題を最もエレガントな方法で回避するにはどうすればよいですか?

私の現在のアイデアは、[NonAction] に Index コントローラ アクションからのものを配置し、Index アクションと CreateUser アクションの両方からそのメソッドを呼び出すことですが、もっと良い方法があるはずだと感じています。

ありがとう。

0 投票する
3 に答える
30397 参照

asp.net - ASP.NET MVC - ビューに配列を渡す方法は?

ASP.NET MVC フレームワークのコントローラーからビューに配列を渡す簡単な方法を見つけるために、私はここで苦労しています。

私のコントローラーでは、次のようなものがあります。

したがって、私の見解では、ViewData["passedArray"]を呼び出してループを実行するだけです。

しかし、おそらく Array DataType の宣言のために、ViewDataがSystem.Stringとしてビューによって受信されているようですが、残念ながら、何百万ものコード行を作成せずに適切かつ単純に渡す方法がわかりません。

誰かが私を助けることができれば素晴らしいでしょう.

前もって感謝します

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

redirect - RenderAction呼び出し間のViewDataの維持

サイトのすべてのページで、Html.RenderActionを使用して一般的なログインフォームをレンダリングしています。

ユーザーがテキストボックスに詳細を入力して[送信]をクリックすると、ログインを処理するコントローラーにPOSTが実行されます。

無効な電子メールアドレスを入力するなどの間違いを犯した場合、ModelStateにエラーメッセージが表示され、以前のページにリダイレクトされます。

問題は、RenderActionが個別のリクエストとして発生するため、ViewModelが失われることです。

TempDataに入れても、TempDataは個別のリクエストごとにフラッシュされるため、失われます。

連続するHtml.RenderAction呼び出し間でデータを保持する方法はありますか?

そうでない場合、これをハックする方法についての提案はありますか?(データをセッションに入れる必要がありますか?)

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

asp.net-mvc - ASP.Net MVCでViewDataを使用して無効にする必要があるかどうか、またその理由を誰かに教えてもらえますか?

これはおそらく以前に起こったことであり、おそらく非常に主観的です。私は、ViewDataの使用を避け、FromViewModelクラスを使用して情報をビューに渡すことを避けてきました。

このアプローチの主な利点はありますか?

ありがとう

デイビー

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

jquery - ASP.NetMVCでJQuery検索の価値を維持する方法

検索ボックスがあるMVCビューがあります。キーアップ時に、JQuery検索を実行し、結果をdivにレンダリングします>

これはすべて正常に機能します。私の質問は:

ユーザーが別のビューに移動した場合に同じ結果セットなどに戻されるように、検索を保持するためのネストされた方法は何ですか?

ViewDataの使用を避けようとしていますが、この場合は問題ない可能性があります。

ありがとう

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

model-view-controller - ActionFilterAttributeのViewData-オブジェクト参照がオブジェクトのインスタンスに設定されていません

ActionFilterAttributeを使用して、データベースからマスターページコンテンツを(クエリ文字列の「TargetCode」に基づいて)ロードしようとしています。ただし、データベースから返されたデータにViewDataを設定する際に問題が発生します。コードは次のとおりです。

{HomeRepository hr = new HomeRepository();

}

最後の行(result.ViewData ["ThemeData"] = ThemeData;)を除いて、すべてが期待どおりに機能しています。

コードをデバッグすると、ThemeDataにデータベースから取得したデータが含まれていることが示されますが、result.ViewData["ThemeData"]に設定できません。エラーは「オブジェクト参照がオブジェクトのインスタンスに設定されていません」です。その行に。

どんな助けでも大歓迎です。どうもありがとうございます。

0 投票する
3 に答える
11056 参照

asp.net-mvc - ASP.NET MVC で複数のビューを 1 つの ActionResult に返す

私が本質的に達成したいのは:

ただし、これまでの MVC の経験から、データをビュー モデルに返して、次の方法でビュー自体で使用できるようにする必要があるということです。

うまくいかないことはわかっていても、基本的には次のようになります。

私が疑問に思っているのは、これを行う正しい方法は何でしょうか? 正しい方法についての手がかりはありませんが、少なくとも理論はあると思いますが、それを実装する方法はありません。

事前に助けてくれてありがとう。


編集

以下のコメントに基づいて、次のコードの編集/追加を行いました。

Index() アクション

呼び出し/Index.aspx

ただし、この行<%=Html.ViewData("MyOpenCallsCount")%>には End of Statement expected エラーが表示されます。

また、一度コンパイルすることはできましたがUnable to cast object of type 'System.Data.Linq.DataQuery1[CustomerServiceHelpdesk.hdCall]' to type 'CustomerServiceHelpdesk.hdCall'.、行からエラーが発生しましたDim viewOpenCalls As New Calls With {.OpenCalls = callRepository.FindAllOpenCalls()}

どこで私は間違えましたか?

このようなことになると、私は少し初心者なので、どんな助けも大歓迎です。

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

c# - ViewData を使用してページごとに読み込まれたスクリプトを追跡する

私は現在、JavaScript ファイルを必要なときにだけロードする良い方法を見つけようとしています。これを行うために、faceboxlinks、datepickerfields、tinymcefields、および外部 js と初期化 jquery 式を必要とするその他のスクリプト用にいくつかの HtmlHelper を作成しました。これらのヘルパーでは、jQuerygetScript()を使用してスクリプトを実行し、そのコールバック関数を使用してスクリプトを初期化します。

今私の問題が来ます。私が最初に考えたのは、これらのスクリプトを文字列のリストで追跡し、これを htmlHelper.ViewData に入れることでした。しかし、残念ながらこれは失敗します。何らかの理由で、このビューデータは部分ビューなどに渡されません。それはリストを保持しません..

ヘルパーの ViewDataDictionary の代わりに文字列のリストをグローバルに保持できる別の場所はありますか、またはこの ViewData を間違った方法で使用しているので、何らかの理由でそれを渡す必要がありますか? 説明や助けをいただければ幸いです。