1

アプリケーションで Facebook 認証の後にビューを表示したいのですがビュー解像度次のとおりです。

HTML 出力のレンダリングに使用する適切な Markdown テンプレートを解決するために ServiceStack が使用する解決順序は次のとおりです。

  1. Web サービスが (カスタマイズされた IHttpResult. TemplateName応答を介して) テンプレートを指定する場合、その名前のビュー。
  2. 応答 DTO と同じ名前のビュー。最初に /Views を検索し、次に /Views/Shared を検索します。
  3. Request DTO と同じ名前のビュー。最初に /Views を検索し、次に /Views/Shared を検索します。

これらは私のDTOです

 public class FacebookRequest{}
 public class FacebookResponse{}

これは私のルート構成です

Routes.Add<FacebookRequest>("/User/facebook");

私のビューには次のコードがあります:

@inherits ViewPage<MyProject.Services.Dto.FacebookResponse>

this is a facebook response

サービス方法:

 [ClientCanSwapTemplates]
  public FacebookResponse Get(FacebookRequest userRequest)
  {
      return new FacebookResponse();
  }

同じresponseDTOを持つ「views」ディレクトリにあるビューがある場合、私が理解している限り、サービスからの応答でビューを配線する必要があります。

4

1 に答える 1

1

コメントを回答として追加する

SS は応答 DTO クラスの正確な名前を使用し、DefaultView 属性を指定しない限り、ファイル システムでその正確な名前を持つビュー ファイルを探します。したがって、(あなたの例では) ビューが正確に Views/FacebookResponse.cshtml ではない場合、それは機能しません。inherits viewpage ステートメントを使用しても、SS はビューを解決できません。特定の場所で正確なファイル名を探しています。私はこれについて 100% ではありませんが、大文字と小文字を区別する一致もあったことを思い出すようです。

于 2013-08-06T16:59:44.220 に答える