問題タブ [asp.net-mvc-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 投票する
1 に答える
1425 参照

asp.net - 別のアセンブリのコントローラーでエリアを使用するにはどうすればよいですか?

新しいASP.NETMVCプロジェクトを開始し、コントローラーを別のアセンブリに配置することにしました。Evertyhingは正常に機能しますが、問題が発生しました。MVCプロジェクトに、管理と呼ばれる新しい領域を作成しました。別のアセンブリにAdminControllerクラスがあり、管理領域からビューを返すことになっていますが、ビューを返そうとするたびに、間違った場所でビューを探します(〜/ Administrationではなく〜/ Admin / SomeView.cshtml /Admin/SomeView.cshtml)必要な領域でビューを探すようにコントローラーに指示するにはどうすればよいですか?

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

jquery - MVC3AJAX関数の投稿が2回

VisualStudio2010とMVC3をAJAX/JQueryで使用しています。私が抱えている問題は、コードが何かを2回投稿していることです。これは、何かを投稿してからもう一度実行した場合にのみ発生します。

これが私のJSです:

私のHTMLページには、CreateCommentPartial.cshtmlファイルを呼び出すJQueryダイアログボックスがあります。ユーザーが入力すると、「CreateComment」関数が呼び出され、「GetComments」が呼び出され、新しいコメントが投稿された後にコメントが更新されます。

さて、ここに問題があります。ページをリロードしてフォームに入力せずに[コメントの作成]リンクをもう一度クリックすると、「CreateComment」が2回起動され、「GetComments」も2回起動されます。 Firebugはこれも示しています。

私はここで何が間違っているのですか?投稿後にページをリロード(F5)した場合、これは行われません。しかし、それは目的を打ち負かします。ページをリロードせずにコメントを複数回送信できるはずです。

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

asp.net-mvc - asp.net mvc コントローラーのサイズを小さく保つ

私はコントローラーを持っています。「注文コントローラー」。現在1800行です。サイズを小さくするのが好きです。私は問題のない静的ヘルパー メソッドを使用していますが、ninject を使用してリポジトリを呼び出しているため、プロパティを渡さずに静的メソッドのリポジトリにアクセスすることはできません。

コントローラーのノイズを減らすための良い方法は何ですか?

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

asp.net-mvc - asp.netmvc2コントローラー名のURLでハイフンを許可する

上記はアクションで機能しますが、コントローラーでも同じ(または同様の)ことができるようにしたいと思います。つまり、URL名にもハイフンを含めます。これを達成する簡単な方法はありますか(ActionName属性を試しましたが、運がありません)

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

layout - MVC 3 のレイアウトとコントローラー

MVC 3 アプリケーションを構築しています。アプリケーションは、サブドメインに応じて異なるレイアウトを表示できる必要があります (例: customer1.mysite.com -> layout1; customer2.mysite.com -> layout2; など...)。モバイルおよびIE6。

それらは、レイアウトを設定するロジックを実行するために利用できる _ViewStart.cshtml であることがわかりました。しかし、私が得られないのは、そのコントローラーがどこにあるのですか? ビューにすべてのコードを記述する必要がありますか?

レイアウトに関する別の質問は、一般的な動作のコードをどのように除外するのですか? そのためのコントローラーはありますか?

最後に、asp.net MVC2 の領域の概念を見てきましたが、Razor を使用した今では時代遅れですか?

ご協力ありがとうございました

フレッド

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

jquery - jQueryダイアログを使用してASP.NETMVCページに表示する多くの非表示のdiv。部分ビューを使用する必要がありますか?

私は最初の主要なASP.NETMVCアプリケーション(および多くのjQuery)に1か月ほど取り組んできましたが、非常に満足しています。このようなページがあります。(実際のデータは、無実の人々を保護するために変更されました。)

ムービーdivには、選択できるムービーのテーブルが含まれています。アクター、actor-ratings、およびratings-comments divは、この時点ではすべて非表示になっています。映画がクリックされると、クリックを取得し、アクションに投稿し、データを取得し、データを取得してモーダルポップアップに配置するコールバック関数を取得するjQuery live()イベントがあります。(私はその順序が正しいと思います。どこかで間違っているかどうか教えてください。)

アクター、アクター評価、および評価コメントはすべて1つのページにロードする必要がある可能性があるため、コントローラーはすべてのデータをロードするための巨大なアクションを実行することになります。さらに、評価コメントdivはアクター評価モーダルを閉じる可能性がありますそして、新しいモーダルで自分自身を開きます。さらに、jQueryアドレスプラグインを実装して、戻るボタンを以前に開いたモーダルに戻すことができるようにします。

かなり迅速に複雑になります。それらのdivごとに部分ビューを使用する必要がありますか?それらのそれぞれにアクションを持つ1つのコントローラーが必要ですか?または、各部分ビュー/ divのコントローラーですか?部分的なdivは進むべき道のように思えますが、コードを分割する前に、いくつかのガイダンスを探していると思います。何かアドバイスをいただければ幸いです。

編集:また、私の俳優評価の部分ビューには、おそらく俳優の部分ビューからのデータの一部が必要になります。アクターデータにもActorRatingsコントローラーアクションをロードするだけですか?(強く型付けされたビューモデルをビューに渡します。)

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

asp.net-mvc - MVC3 – ViewModels とコントローラーの機能: 推奨される設計パターン

あまり使い物にならないコール センター アプリケーション用に、単純な MVC3 ベースのチケット エントリ サイトを構築しました。プロトタイプをリファクタリングして、デザイン パターンによりよく準拠するようにしています。ユーザー向けビューは、さまざまなリソース タイプを選択できるいくつかのパネルに加えて、基本的なユーザー情報で構成されるフォームです。各リソース タイプ (ハードウェア、ソフトウェアなど) は同じ方法で表示されます。追加/削除ボタンを備えたデュアルのフィルター可能なリストボックス、要求されたリソースに正当性が必要な場合に条件付きで表示されるオプションの「正当性」テキスト領域、および一般的なコメントを使用します。個々のパネル用に次の ViewModel を作成しました。

メインの ViewModel は、必要に応じて複数の RequestableList で構成されます。

SimpleRequestViewModel (およびそのバリアント) の厳密に型指定されたビューと、デュアル リストボックス、フィルタリング、および jquery を接続する RequestableList の厳密に型指定された EditorTemplate を作成しました。すべてが適切にレンダリングされ、機能していますが、コードは現在臭いがあります。

コントローラーに投稿するとき、モデルが有効であれば、コール センター アプリで新しいチケットを作成するために、モデルを読み取り可能なテキストの説明に変換する必要があります。コントローラーがその変換を実行して読み取り可能なテキストにするのは適切ではありませんが、ビューモデルを変換する別のクラスを設計しようとすると、ハードルに遭遇します。

  1. 選択されたアイテムの値のみが投稿されるため、リクエストをテキストに変換する前に、まず提供された値に適したテキストを検索する必要があります (説明には値が必要です)。コントローラは、現在、このルックアップ クエリのコール センター データ モデルにアクセスできる唯一のオブジェクトです。
  2. RequestableList のさまざまな組み合わせを含む 2 つの同様の ViewModel があるため、翻訳者はさまざまな組み合わせを翻訳できなければなりません。1 つにはハードウェアとソフトウェアのみがあり、もう 1 つにはハードウェア ソフトウェアとさらにいくつかの RequestableList があります。

ViewModel で直接 ToString() をオーバーライドすることを検討しましたが、そのビジネス ロジック (条件付きレンダリング) が気に入らなかったため、再度投稿すると、ViewModel にはリストボックスで選択された項目のテキストが含まれていないため、アクセスが必要になります。データモデルに。送信された値をテキストに変換するのは、現在コントローラーで処理されているため、switch ステートメントで処理されているため臭いがします。コントローラーは、ポストされた各 RequestableList を受け取り、新しいチケットの説明を作成する前に、元の「利用可能」フィールドに入力します。

だから、私の質問:

  1. 投稿されたビューモデルからチケットの説明への変換を実行するために、どのようなパターンの手法をお勧めしますか?
  2. 値だけでなくテキストも必要な場合、選択ボックスで「値のみを投稿する」問題を通常どのように処理しますか?
  3. この問題に取り組むためのより良い方法はありますか?

繰り返しになりますが、これが私にとって学習経験になることを願っており、必要に応じて追加情報や説明を提供したいと思っています.

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

xml - コントローラーからビューに XML データを効率的にレンダリングする方法

XML データをレンダリングする必要があるプロジェクトに取り組んでいます (それが私のモデルになります)。基本的には、標準のデータベース表現と同様の行 - 列形式で表されます。ただし、行をクリックしてそこから基本的なデータ入力を実行できるはずです。最初は Json データと Jgrid を使用してこれを行うことを考えていましたが、価値があるよりも面倒なようです。同僚との会話から、xml をコントローラーからビューに直接送信できるようです。XML は単なる文字列なので、それほど難しいことではないと思います。私はこれを行う方法について少し確信が持てません。コントローラーから取得したビューで XML データをレンダリングするにはどうすればよいかという質問をすべて述べました。このような状況でのベストプラクティスは何ですか? コントローラーからビューに XML を送信する最良の方法は何ですか? このビューをレンダリングする最良の方法は何ですか? そのxmlデータの行を「クリック可能」にする方法はありますか? 弾丸をバイトして、jqGridを理解しようとする必要がありますか?

ありがとう、デレク

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

asp.net-mvc-3 - MVC 3 で ValidationSummry にエラーを返す方法

実装方法がわからないアイデアがあります。MVC 3 コントローラーには if ステートメントがあり、if ステートメントが失敗した場合にコントローラーがエラー メッセージを返すようにします。そして、私はそのページに ValidationSummery を持っているので、エラーメッセージをキャッチして表示する方が良い..

どうすればいいですか?

ありがとう

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

asp.net-mvc-3 - モデルフォルダにコントローラを配置しても問題ありませんか?

私は基本的にビューごとにモデルを持っているので。コントローラー名の後にモデル フォルダーの下のサブ フォルダーにモデルを配置します。/Models/News.

また、コントローラーをこれらのフォルダーに移動することにしました。
/Models/News/_NewsController.csクラス名はそのままNewsControllerです。

見つけやすいと思います。

これは悪い習慣ですか?セキュリティ等