問題タブ [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.

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

c# - Mvc.Controller でサーバーを使用する

私は自分自身を継承し、そこApp.ControllerからMvc.Controllerすべてのコントローラーを継承しています。インターフェイスを利用するプロバイダーを作成し、それを として実装しましMyServiceた。コンストラクターは、whichのServerプロパティを取得します。Mvc.ControllerHttpServerUtilityBase

ただし、のコンストラクターでインスタンス化MyServiceします。App.Controller問題はServer、 Controller のプロパティがnullを構築するときMyServiceです。私はpublic Controller () : base() { }ベースを構築するために使用しました。ただし、Server残りnullます。

できれば避けたいWeb.HttpContext.Current.Server

この問題の回避策はありますか?

編集:まあ、私は tvanfosson の提案を実装しましたが、私のアプリMyServiceがプロパティgetメソッドで構築するときServerは、まだ null です。

編集 2:気にしないでください、私は間抜けでした。私は同様に別のものControllerを使用していましServerたが、それを変更しませんでした。ケースを閉じました。

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

.net - ビュー UpdateModel のタイプに依存しない MVC コントローラー

ビューの型を通知しないコントローラで updateModel を使いたい。タイプが異なるさまざまなビューがありますが、すべて継承されたタイプとして ExternalBase クラスがあります。

したがって、コントローラーには常に ExternalBase がありますが、コントローラーは正しいタイプを認識していません。

保存時に、正しいオブジェクトを取得するメソッドを呼び出しますが、これを externalBase として返します。innertype は私の正しい型です。オブジェクトにカーソルを合わせると、保存を呼び出すのはビューのタイプです。updateModel を呼び出すと、プロパティが入力されません。

例として:

// MyExternalBase は空のクラスです

クラスの人

保存のコントローラーで、次のことを行います。

これで、p がいっぱいになりません。

代わりに Person p = new Person() を使用しても問題ありません。しかし、コントローラーをビュータイプから独立させたいと思っています。

これは updateModel のエラーですか、それとも不可能なことですか? または、それに対する回避策はありますか?

0 投票する
11 に答える
211404 参照

asp.net-mvc - 複数のロールがコントローラ アクションにアクセスできるようにする

現在、「メンバー」がコントローラーアクションにアクセスできるように、このようなメソッドを装飾しています

複数のロールを許可するにはどうすればよいですか? たとえば、次は機能しませんが、私がやろうとしていることを示しています (「メンバー」と「管理者」アクセスを許可します):

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

c# - MVC + この 1:n 関係のパターン

GUI を備えたサーバー アプリケーションがあります。C# で書かれています。ここで、アプリケーション全体に MVC パターンを使用したいと考えています。

通常、1 つのモデル、1 つのコントローラー、およびおそらく n 個のビューがあります。わかりました、私はすべての 1 つを持っていますが、モデルについてはよくわかりません。

私の状況: 1 つのサーバー状態があり、オンライン/オフラインにすることができ、クライアント数などがあります。これは私の「ServerModel」である可能性があります。ネットワーク ライブラリを介してネットワーク接続を処理し、接続されている場合は学生オブジェクトを作成します。それがすべてここで起こります。このビューは、新しい生徒がいる場合に通知され、新しい生徒用の GUI 要素が (コントローラーを介して) 表示されます。今、私のビューには特別な生徒に関連するアクションがあり、コントローラーは通知「StudentChanged」を受け取り、変更された生徒を取得します。

質問: コントローラーは、生徒を直接変更するか、ServerModel に生徒の変更方法を伝えることができるようになりました。2 番目の方法は一見やり過ぎのように見えますが、MVC の設計を明確にしています。コントローラーから生徒を直接変更したいです。しかし、この MVC 違反 (学生はモデルではなく、モデルの一部) が後の開発やコード全体の柔軟性に何らかの欠点をもたらすかどうかはわかりません。

ハンブルグからのご挨拶 ;)

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

asp.net-mvc - ASP.NET MVC と HTTP-POST を使用したフォーム ポストに関する質問

標準の ASP.NET MVC フォーム ポストがあります。

例えば。

では、オブジェクトに存在する可能性のある、またはプロパティなどの特定の値を無視するようにするにはどうすればよいでしょうか?IDCreatedOnComment

除外/ブラックリストを定義する方法はありますか?

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

asp.net-mvc - コントローラー メソッドの単体テストを実行すると、ViewName が空になりますか?

私は、標準の特別なコントローラーではなく、いくつかの簡単な MS 単体テストを行っています。

プロパティを確認するとViewName、返されたViewResultオブジェクトから、 ""(空) です。

ViewNameの名前が​​暗示されているという印象を受けていますView( ASP.NET MVC コントローラーのテストに関するこの MS の記事で示唆されているように)。

ところで、ViewData をテストすると、すべてが正しく表示されます。

これが私が持っているコードです...

0 投票する
7 に答える
38685 参照

asp.net-mvc - post と get は同じメソッド シグネチャで

私のコントローラーには、「Friends」と呼ばれる2つのアクションがあります。実行されるものは、それが「get」か「post」かによって異なります。

したがって、私のコード スニペットは次のようになります。

ただし、同じ署名 (フレンド) を持つ 2 つのメソッドがあるため、これはコンパイルされません。これを作成するにはどうすればよいですか?アクションを 1 つだけ作成する必要がありますが、その中で「取得」と「投稿」を区別する必要がありますか? もしそうなら、どうすればいいですか?

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

asp.net-mvc - ビューからコントローラへの通信

たとえば、フィルタリングが必要な場合に備えて、ビューコントローラー通信のベストプラクティスは何かを見つけようとしています。

ページ上のアイテムのコレクションとフィルター コントロールがあります。文字、ステータスなどでアイテムをフィルタリングしています...簡単なシナリオです。フィルターで選択した値をコントローラーに送信し、コントローラーは結果をページに返します。

考えてみれば、一方向のサイクルです。パラメーター(フィルター値)を使用してコントローラーを呼び出し、コントローラーがデータベースを呼び出してから要素をフェッチし、その要素をビューに戻します。これらの要素とコントローラーをコントローラーに送信して、それらをフィルター処理し、フィルター処理されたコレクションをビューに戻す方法はありますか? または、このサーバーへの移動を短縮し、コントローラーに要素の id のみを与え、コントローラーにデータベースからプルする要素を認識させ、それらをフィルター処理して、フィルター処理されたコレクションを返す...

悪い習慣?いくつかの回避策はありますか?

どう思いますか?

ありがとう

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

asp.net-mvc - ASP.NET MVC でフォームを処理する適切な方法は何ですか?

フォーム + ASP.NET MVC = 私にとって混乱:

  1. フォーム投稿のコントローラー アクションを設定するための推奨される方法は何ですか?

    • [AcceptVerbs(HttpVerbs.Post)] を持つ属性を指定する必要がありますか?
    • コントローラー アクションは「FormCollection」を使用する必要がありますか、それとも ModelBinders を使用する必要がありますか?
    • ModelBinders を使用する必要がある場合、どのように使用しますか?
  2. ビューでフォームを設定するにはどうすればよいですか?

    • Html.BeginForm/Html.EndForm のような Html ヘルパーを使用するか、単にフォーム タグを自分で指定する必要がありますか?
    • フォームで使用するコントローラーとアクションをどのように指定しますか (Html ヘルパーまたは手動フォーム タグを使用)。

フォーム付きのシンプルなビューとそれに対応するコントローラー アクションの両方を見せてもらえますか?

Home/Create アクションに送信し、テキスト ボックスから文字列を渡すことができる単一のテキスト ボックスを持つフォームを作成しようとしています。