問題タブ [controller]
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.
c# - Mvc.Controller でサーバーを使用する
私は自分自身を継承し、そこApp.Controller
からMvc.Controller
すべてのコントローラーを継承しています。インターフェイスを利用するプロバイダーを作成し、それを として実装しましMyService
た。コンストラクターは、whichのServer
プロパティを取得します。Mvc.Controller
HttpServerUtilityBase
ただし、のコンストラクターでインスタンス化MyService
します。App.Controller
問題はServer
、 Controller のプロパティがnull
を構築するときMyService
です。私はpublic Controller () : base() { }
ベースを構築するために使用しました。ただし、Server
残りnull
ます。
できれば避けたいWeb.HttpContext.Current.Server
。
この問題の回避策はありますか?
編集:まあ、私は tvanfosson の提案を実装しましたが、私のアプリMyService
がプロパティget
メソッドで構築するときServer
は、まだ null です。
編集 2:気にしないでください、私は間抜けでした。私は同様に別のものController
を使用していましServer
たが、それを変更しませんでした。ケースを閉じました。
.net - ビュー UpdateModel のタイプに依存しない MVC コントローラー
ビューの型を通知しないコントローラで updateModel を使いたい。タイプが異なるさまざまなビューがありますが、すべて継承されたタイプとして ExternalBase クラスがあります。
したがって、コントローラーには常に ExternalBase がありますが、コントローラーは正しいタイプを認識していません。
保存時に、正しいオブジェクトを取得するメソッドを呼び出しますが、これを externalBase として返します。innertype は私の正しい型です。オブジェクトにカーソルを合わせると、保存を呼び出すのはビューのタイプです。updateModel を呼び出すと、プロパティが入力されません。
例として:
// MyExternalBase は空のクラスです
クラスの人
保存のコントローラーで、次のことを行います。
これで、p がいっぱいになりません。
代わりに Person p = new Person() を使用しても問題ありません。しかし、コントローラーをビュータイプから独立させたいと思っています。
これは updateModel のエラーですか、それとも不可能なことですか? または、それに対する回避策はありますか?
asp.net-mvc - 複数のロールがコントローラ アクションにアクセスできるようにする
現在、「メンバー」がコントローラーアクションにアクセスできるように、このようなメソッドを装飾しています
複数のロールを許可するにはどうすればよいですか? たとえば、次は機能しませんが、私がやろうとしていることを示しています (「メンバー」と「管理者」アクセスを許可します):
c# - MVC + この 1:n 関係のパターン
GUI を備えたサーバー アプリケーションがあります。C# で書かれています。ここで、アプリケーション全体に MVC パターンを使用したいと考えています。
通常、1 つのモデル、1 つのコントローラー、およびおそらく n 個のビューがあります。わかりました、私はすべての 1 つを持っていますが、モデルについてはよくわかりません。
私の状況: 1 つのサーバー状態があり、オンライン/オフラインにすることができ、クライアント数などがあります。これは私の「ServerModel」である可能性があります。ネットワーク ライブラリを介してネットワーク接続を処理し、接続されている場合は学生オブジェクトを作成します。それがすべてここで起こります。このビューは、新しい生徒がいる場合に通知され、新しい生徒用の GUI 要素が (コントローラーを介して) 表示されます。今、私のビューには特別な生徒に関連するアクションがあり、コントローラーは通知「StudentChanged」を受け取り、変更された生徒を取得します。
質問: コントローラーは、生徒を直接変更するか、ServerModel に生徒の変更方法を伝えることができるようになりました。2 番目の方法は一見やり過ぎのように見えますが、MVC の設計を明確にしています。コントローラーから生徒を直接変更したいです。しかし、この MVC 違反 (学生はモデルではなく、モデルの一部) が後の開発やコード全体の柔軟性に何らかの欠点をもたらすかどうかはわかりません。
ハンブルグからのご挨拶 ;)
asp.net-mvc - ASP.NET MVC と HTTP-POST を使用したフォーム ポストに関する質問
標準の ASP.NET MVC フォーム ポストがあります。
例えば。
では、オブジェクトに存在する可能性のある、またはプロパティなどの特定の値を無視するようにするにはどうすればよいでしょうか?ID
CreatedOn
Comment
除外/ブラックリストを定義する方法はありますか?
asp.net-mvc - コントローラー メソッドの単体テストを実行すると、ViewName が空になりますか?
私は、標準の特別なコントローラーではなく、いくつかの簡単な MS 単体テストを行っています。
プロパティを確認するとViewName
、返されたViewResult
オブジェクトから、 ""
(空) です。
ViewName
の名前が暗示されているという印象を受けていますView
( ASP.NET MVC コントローラーのテストに関するこの MS の記事で示唆されているように)。
ところで、ViewData をテストすると、すべてが正しく表示されます。
これが私が持っているコードです...
asp.net-mvc - post と get は同じメソッド シグネチャで
私のコントローラーには、「Friends」と呼ばれる2つのアクションがあります。実行されるものは、それが「get」か「post」かによって異なります。
したがって、私のコード スニペットは次のようになります。
ただし、同じ署名 (フレンド) を持つ 2 つのメソッドがあるため、これはコンパイルされません。これを作成するにはどうすればよいですか?アクションを 1 つだけ作成する必要がありますが、その中で「取得」と「投稿」を区別する必要がありますか? もしそうなら、どうすればいいですか?
asp.net-mvc - ビューからコントローラへの通信
たとえば、フィルタリングが必要な場合に備えて、ビューコントローラー通信のベストプラクティスは何かを見つけようとしています。
ページ上のアイテムのコレクションとフィルター コントロールがあります。文字、ステータスなどでアイテムをフィルタリングしています...簡単なシナリオです。フィルターで選択した値をコントローラーに送信し、コントローラーは結果をページに返します。
考えてみれば、一方向のサイクルです。パラメーター(フィルター値)を使用してコントローラーを呼び出し、コントローラーがデータベースを呼び出してから要素をフェッチし、その要素をビューに戻します。これらの要素とコントローラーをコントローラーに送信して、それらをフィルター処理し、フィルター処理されたコレクションをビューに戻す方法はありますか? または、このサーバーへの移動を短縮し、コントローラーに要素の id のみを与え、コントローラーにデータベースからプルする要素を認識させ、それらをフィルター処理して、フィルター処理されたコレクションを返す...
悪い習慣?いくつかの回避策はありますか?
どう思いますか?
ありがとう
asp.net-mvc - ASP.NET MVC でフォームを処理する適切な方法は何ですか?
フォーム + ASP.NET MVC = 私にとって混乱:
フォーム投稿のコントローラー アクションを設定するための推奨される方法は何ですか?
- [AcceptVerbs(HttpVerbs.Post)] を持つ属性を指定する必要がありますか?
- コントローラー アクションは「FormCollection」を使用する必要がありますか、それとも ModelBinders を使用する必要がありますか?
- ModelBinders を使用する必要がある場合、どのように使用しますか?
ビューでフォームを設定するにはどうすればよいですか?
- Html.BeginForm/Html.EndForm のような Html ヘルパーを使用するか、単にフォーム タグを自分で指定する必要がありますか?
- フォームで使用するコントローラーとアクションをどのように指定しますか (Html ヘルパーまたは手動フォーム タグを使用)。
フォーム付きのシンプルなビューとそれに対応するコントローラー アクションの両方を見せてもらえますか?
Home/Create アクションに送信し、テキスト ボックスから文字列を渡すことができる単一のテキスト ボックスを持つフォームを作成しようとしています。