問題タブ [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.
model-view-controller - ViewData のビューに渡された SelectList からドロップダウンリストの値が設定されない
オフィスの場所 (テキスト) と住所 (値) のドロップダウンリストを入力しようとしています。ページを表示した後にブラウザーでページ ソースを表示すると、選択 (ドロップダウンリスト) オプションの値がすべて "" であることがわかります。これが私のコードです。SelectList のデータを取得するために、LinqToSql データ コンテキスト呼び出しを使用しています。デバッガーで、呼び出しから返されたリストに、実際に必要な住所とオフィスの場所が含まれていることがわかります。私のモデルのデータコンテキストコード:
私のコントローラーコード:
私のビュー コード: <%= Html.DropDownList("locations", (SelectList)ViewData["OfficeLocations"])%>
asp.net-mvc - asp.net-mvc の厳密に型指定されたビューデータはどこに配置すればよいですか?
ビューデータ クラスをコントローラー内にネストしてきましたが、その数が増えるにつれて、これが良いアイデアかどうかを自問し始めています。繰り返しになりますが、/Views および /Controllers ディレクトリをこれらのもので汚染することについては、何かがおかしいようです。
ここで見逃している規則はありますか? おそらく/ViewDataディレクトリですか?idk、viewdata クラスに適した場所はどこですか?
asp.net-mvc - 厳密に型指定された部分ビュー MVC RC1
ViewData.Model を部分ビューに渡す際に問題が発生しました。結果クエリと同一視しても、常にデフォルトで null になります。モデルが null であるため、厳密に型指定されたデータにアクセスできません。私の現在のコードはこれです、
ビューページ
UserControl - ヘッダー
ユーザーコントロール - テスト
コントローラ
asp.net-mvc - MS MVC-どういうわけか、すべてのビューに対して強く型付けされたViewData / Modelをグローバルに入力できますか?
MVCアプリケーションのすべてのビューに対して、ログに記録されたユーザーのインスタンス(または、まだ誰もログに記録されていない場合はnull)を提供したいと思います。InvokeActionをオーバーライドし、ログに記録されたユーザーインスタンスをViewData(controllerContext.Controller.ViewData ["LoggedUser"] = xxx)に提供する独自のControllerActionInvokerクラスをすでに正常に実装しました。問題は、アプリケーション全体でログに記録されたユーザーインスタンスを渡すために、強く型付けされたモデルを使用したいということです。私は、強く型付けされたすべてのViewDataクラスの基本クラスであり、ログに記録されたユーザーインスタンスも提供するApplicationViewDataBaseクラスを用意することを考えていました。すべてのビューでログに記録されたユーザーインスタンスに簡単にアクセスできました。
ControllerActionInvoker.InvokeActionオーバーライドで達成したように、強く型付けされたグローバルに入力することは可能ですか?または、Page.Userでユーザーインスタンスを提供する方がよいでしょうか。Page.Userを使用する方がおそらくもっと巧妙だと思いますが、Userインスタンスを挿入する方法も見つかりませんでした...
javascript - Viewdata リストから JavaScript 配列を設定する方法の簡単な例が必要
これを行うにはもっと簡単な方法があるかもしれません。私の状況は、テキストと値を正常に入力したフォームにドロップダウンリストがあることです。また、クライアントで使用可能な db テーブルの同じテーブル行から関連する文字列値を追加する必要があるため、ユーザーがドロップダウンから選択すると、この関連データがフォームのテキスト ボックスに入力されます。私が扱っているレコードは 4 つしかないので、クライアントに保存することは大したことではありません。このデータをViewDataを介してリストとして渡し、javascript配列にロードすることを考えました。ユーザーがドロップダウンから選択すると、選択したインデックスを特定し、必要な関連データを配列から取得します。他の必要なデータにドロップダウン項目の値を既に使用しているため、サーバーに戻らずにこの関連データを取得する方法が必要です。
ありがとう、
マイク
asp.net-mvc - ビューデータをasp.net mvcマスターページに渡す
マスターページに保持している mvc ユーザーコントロールの asp.net mvc マスターページに ViewData を渡そうとしています。たとえば、名前のドロップダウンリストを mvc ユーザーコントロールとして作成し、それをマスターページに配置しました。
私が直面している問題は、ViewData をマスターページに渡すことです。まともな解決策があるマイクロソフトのこの記事を見つけましたが、他に「より良い」解決策があるかどうか疑問に思っていました。リンクのソリューションで気に入らない点は、新しいコントローラー クラスから継承するようにすべてのコントローラーを変更する必要があることです。
http://www.asp.net/learn/MVC/tutorial-13-cs.aspx
編集:私が見ている問題は、ViewData に依存するマスターページにユーザーコントロールを配置する場合、そのマスターページを使用するすべての単一ページにその ViewData を繰り返し含める必要があるという事実です。上記のリンクの解決策が最善の解決策である可能性がありますが、他の選択肢があることを望んでいました.
.net - CustomViewData への最良の方法は?
カスタム プロパティを横幅の ViewDataDictionary に追加する最も実用的な方法は何ですか?
簡単なケースを想定してみましょう:
最初に頭に浮かぶのは、カスタム クラスとアプリケーション ベース コントローラーでの "new" の使用です。
ビューでもカスタム ビュー データ ディクショナリを使用するには、同じプロパティを持つ対応する CustomViewPage も作成する必要があると思います。
2 番目に思い浮かぶのは、ViewDataDictionaryExtensions クラスを作成することです。
第三に、「View Model」を使用します。View Models に関する私の欠点は、少なくとも前の 2 つのオプションと比較すると、常に 1 つを作成して View に渡すことです。
本当の目標は、各アプリケーションが、そのアプリケーションの目的に適した ViewData の主要なプロパティ セットを持つようにすることです。私はディクショナリ キーに頼るのをためらう傾向があります。他の開発者が実際のプロパティを使用して、設定するデータを知ることができると便利です。さらに、キーは簡単にスペルを間違えることがあります。
3 つの方法はすべて、仕事を成し遂げます。他の人は何をしましたか?
c# - C#MVCでの繰り返しVIewDataの集中化
ユーザーが私のアプリケーションにログインするとき、アプリケーション全体で彼の名前を表示したいと思います。asp.netMVCフレームワークを使用しています。しかし、私が望まないのは、すべてのコントローラーに次のようなものを入れなければならないということです。
これはあなたが自分自身を繰り返さないかもしれないからです。(これは、オブジェクト指向プログラミングのDRY [Do n't Repeat Yourself]の原則だと思います。)ViewData["User"]は私のマスターページにあります。だから私の質問は、私のViewData["User"]を1か所で処理するためのきちんとした方法は何ですか?
asp.net-mvc - MVCは配列を使用して強く型付けされたviewdata
次のような強く型付けされたViewDataを使用するビューがあります。
コントローラ:
そして、ビューは次のようになります。
わかりました。MyViewDataを作成してLoadDummyData()を呼び出し、それをビューで使用すると、TextBoxにデータが表示されません。
面白いことに、TextBoxにデータを入力すると、Postコントローラーで返されたMyViewDataにデータが入力されます。
私は何が間違っているのですか?これはMVCの新しいバージョンで修正されましたか?私はRC1を持っていると思います。
キース
アップデート1
これ
うまく動作します。私の質問は、これが必要だと思います
同じように動作しますか?