問題タブ [child-actions]

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 に答える
4889 参照

forms - フォームを含む ASP.NET MVC3 Html.Action

ページにフォームを含むポッドがあります。

このポッドを次のように使用しました。

フォームの投稿を処理する Pod の HttpPost アクションをチェックするいくつかのビジネス ルールがあります。このビジネス ルールが失敗した場合は、モデルの状態にエラーを追加します。

問題は、ビジネス ルールの検証に失敗した場合です。空白のページにポッドのみを表示するポッド アクションからビューを返します。

このようなフォームを正しく再利用し、このビジネス ルールをサーバー側で検証するにはどうすればよいですか (検証にはデータベース ヒットが必要です)。

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

forms - ASP.NET MVC3:ページに2つのフォームがあり、送信すると間違ったフォームがトリガーされます

同じページに2つのフォームがあります。1つは、このPodFormと呼ばれる子アクションを介してレンダリングされる部分ビューのフォームです。2番目は、現在のアクションによってレンダリングされます。

したがって、私のコードは次のようになります(名前などは無視してください。これはサンプルコードです)。

Form.cshtml

PodForm.cshtml

メインフォームで[送信]をクリックすると、PodFormアクションメソッドがトリガーされます。どうしたの?

編集-コメントで要求されたように

  1. 生成されたマークアップは次のようになります。

    /li>
  2. コントローラのアクション

    「MainController」(実際の名前ではありません)には、「Form」と呼ばれるアクションがあります

    「PodController」(実際の名前ではありません)には、「PodForm」と呼ばれるアクションがあります。HttpPostがビューを返さない理由は、子アクションからそれを行うと、部分的なビューだけが返されるためです。私が望むものではありません。

    /li>

更新:最初のアクションメソッド呼び出されることがわかりましたが、View()を返すため、ビューエンジンは送信ロジックをトリガーするGetとしてではなくPostとしてPodFormアクションメソッドを呼び出しています。変。

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

asp.net-mvc - アプリ全体で使用される部分ビューのロジック

アプリ全体で使用される PartialView を子アクションに関連付けるにはどうすればよいですか? たとえば、PartialView は、通常は ChildAction に配置する関連ロジック (モデルのロードなど) が必要なページの上部にあるログイン バーにすることができます。ただし、どの Controller が使用されるかはわかりません。ChildAction を使用して基本 Controller クラスを作成し、それを継承することもできると思いますが、より洗練されたソリューションがあることを望んでいました。

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

asp.net-mvc-3 - 自分のアクションが RenderAction によって呼び出されているかどうかを確認するにはどうすればよいですか?

通常のリンクを介して呼び出される可能性のあるアクションがあります。その場合、View() を返します。または、AJAX または RenderAction (つまり、子アクションとして) を介して呼び出すこともできます。 PartialView()。

AJAX 部分を整理するのは簡単ですが、自分のアクションが子アクションとしてレンダリングされているかどうかをテストするにはどうすればよいですか?

理想的には、次のようなコードを記述できるようにしたいと考えています。

明らかに Request.IsChildAction() は存在しません - 何か似たようなものがありますか、それとも常に PartialView を返す特別な ChildAction を作成する必要がありますか?

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

asp.net-mvc - 私の子アクションメソッドの方法でのMVC3モデルバインディング

私は MVC3 を使用しており、子アクション機能を活用しようとして@Html.Action()いるため、次のビューがあります

これは次のメソッドを呼び出します

この時点で、Model Bind 爆弾は、抽象クラスを作成できないことを教えてくれます....

「/」アプリケーションでサーバー エラーが発生しました。抽象クラスを作成できません。説明: 現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。

例外の詳細: System.MissingMethodException: 抽象クラスを作成できません。

モデル バインダーを邪魔にならないようにするにはどうすればよいですか - アクションに必要なモデルを提供しました...?

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

asp.net-mvc-3 - 子アクションは、その「親」アクションと同じ ViewBag を共有しますか?

私はこれと混同しています:私は親と言うアクションを持っています、そして対応するビューファイルで、私は子アクション、例えば子を呼び出しました、親と子の両方のアクションは同じコントローラーにあります。

ViewBag.Now で一部のデータを共有するには、子アクションと親アクションが必要です。どうすればよいですか?ここに私の質問があります:

親のビュー ファイルで Child アクションを呼び出すと、ビューバッグを @Html.Action(ViewBag) のように渡します。私の子アクションでは、これを行います:

これは正しい方法ですか?ビューバッグ オブジェクトは参照渡しですか、それとも元のビューバッグとは異なるオブジェクトですか (より多くのメモリが必要です)?

または、Child アクションがデフォルトで呼び出し元の親 Action とビューバッグを共有している場合はどうなりますか?

Darin Dimitrov の回答から、@Html.Action(ViewBag) のようなことはできないことがわかりました。

しかし、私は本当に子アクションのマルチパラメータを渡す必要があります.どうすればよいですか?

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

asp.net-mvc - ASP.NET MVC 子アクションへのデータのポストバック

メイン ビュー + 部分ビュー (たとえば、RenderAction を使用して子コントローラーを指定する) から単一のビューを構成できるため、メイン ビューによってレンダリングされる入力中に、子アクションによってレンダリングされる入力を子コントローラーに送信することは可能ですか?メインビューコントローラーに向けられていますか?最初は、データを 2 つのアクション メソッドにポストするのは奇妙に思えますが、部分ビューを使用する複合的な性質とはまったく一致しています。

これは可能ですか、それとも実用的ですか?

0 投票する
0 に答える
495 参照

asp.net-mvc-3 - 子アクションのビューにデータを渡す

ビューをレンダリングする同じ子アクションを呼び出す複数のビューがあります。子アクションを呼び出すビューに応じて、 childview に異なるメッセージ
を表示したいと考えています。しかし、子アクションのコントローラー メソッド内にこのビューは必要ないため、コントローラー パラメーターとして渡すことはあまり良い解決策ではないと感じています。

私は ViewData を試しまし
たが、動作しませんでした - 現在使用している子呼び出しに対して空になりますTempDataは動作しますが、あまり良くありません。

この3つ以外に選択肢はありますか?
(MVC2でも動作するはずです)

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

asp.net-mvc-3 - MVC3 「子アクションはリダイレクト アクションの実行を許可されていません」というエラーが表示されるのはなぜですか?

アクションリストを取得しました

そのビューでは、アクションをレンダリングします。

アクションの定義:

そして私は得ています:子アクションは、誰かがフォームを送信するたびにリダイレクトアクションの例外を実行することは許可されていません. 私はMVC3を初めて使用しますが、リダイレクトもPOSTのようです.Listメソッドの上の[HttpGet]がコメント解除されていると「リソースが見つかりません」が発生するためです。

リダイレクト時に Http メソッドを変更するにはどうすればよいですか、それとも何か間違っていますか? 私はそれをBingしようとしましたが、成功しませんでした。

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

asp.net-mvc - ASP .Net MVC 3: 子アクションとリダイレクト

ホームページに登録フォームとログインフォームを表示する必要があります。

これら 2 つのフォームで検証が失敗した場合は、ホームページに適切なエラーを表示する必要があります。

ただし、エラーが発生しなかった場合は、ユーザーを安全なダッシュボードにリダイレクトする必要があります。

これを達成するために、私はchild actionホームページで次のように使用しています。

情報を持っている適切なものを使用できるためre-render、エラーが発生した場合でも期待どおりに完全に機能します。partial viewmodelvalidation state

しかし、エラーがなければ、リダイレクトしようとすると、次のようなエラーがスローされます。

これを回避する方法はありますか?ホームページに登録フォームとログインフォームを配置する方法があると思います。私は ASP .Net MVC にまったく慣れていないので、おそらくわかりません。

ここで正しい方向に向けてもらえますか?