0

mvc アプリケーションがあり、mvc コントローラーではなく API コントローラーからビュー (cshtml ページ) を変更する方法を知りたいです。これは、cshtml とアプリケーションが ajax サービスを介して通信するためです。

できるだけ早く返信してください。ありがとう

4

2 に答える 2

1

APIコントローラーからcshtmlを変更することはできません。シリアル化されたオブジェクトを返すだけです。このオブジェクトを ajax スクリプト内で解析し、jquery/javascript を使用して cshtml を変更する必要があります。

于 2015-07-08T14:47:07.650 に答える
1

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; を実行します。

于 2015-07-08T15:06:16.960 に答える