mvc アプリケーションがあり、mvc コントローラーではなく API コントローラーからビュー (cshtml ページ) を変更する方法を知りたいです。これは、cshtml とアプリケーションが ajax サービスを介して通信するためです。
できるだけ早く返信してください。ありがとう
mvc アプリケーションがあり、mvc コントローラーではなく API コントローラーからビュー (cshtml ページ) を変更する方法を知りたいです。これは、cshtml とアプリケーションが ajax サービスを介して通信するためです。
できるだけ早く返信してください。ありがとう
APIコントローラーからcshtmlを変更することはできません。シリアル化されたオブジェクトを返すだけです。このオブジェクトを ajax スクリプト内で解析し、jquery/javascript を使用して cshtml を変更する必要があります。
API コントローラーは、Web サービスなどのために、または Angular JS のようなフロント エンド レンダリング フレームワークのサーバー側バックエンドを記述するために設計されています。
やりたいことはできますが、API コントローラーから JSON のようなものを返して、Angular JS で変換する必要があります。
第二に、通常の MVC コントローラーで AJAX を実行できます。ガイドに従ってください。
私は通常、MVC アプリケーションをハイブリッドとして構築します。従来の MVC と Angular JS を組み合わせて、すべてのページが通常の URL で通常の get リクエストを介して読み込まれるようにしますが、angular を使用して ajax ポストバックを行うので、SEO や prerender.io のようなものを使用することを心配する必要はありません...
お問い合わせ、ログインなどのすべてのフォームは、角度コントローラーにフックされており、すべて ajax ポストバックを非常に高速に実行します。
コメントへの更新:
Web APIの結果の応答に基づいてAngularでリダイレクトしたい場合..次のようなことができます
public object TheMethod(...)
{
var theJson = new
{
type = "Redirect",
data = new
{
url = "/submitted",
form = new
{
firstName = "Bob",
lastName = "Smith"
}
}
};
return theJson;
}
次に、角度応答でタイプを確認し、リダイレクトの場合は window.location = result.data.url; を実行します。