1

私は複雑なジョブアプリケーションを構築しています。そして私はそれをSPAにしたい。私はAsp.net MVC(Web APIではなく)でAngularJSを使用しています。これまでのところすべてが機能していましたが、ASP.NET MVCが提供する多くの機能を利用できなくなったことに気付きました。これまでのところ私は、これらの機能のために自分自身のコードを記述する必要があります知っている:AngularJSとASP.NET MVCの複数のフォーム

  1. すべての検証は、クライアント側でなければなりません。私はC#で書いた属性を再利用することはできません。

  2. [ValidateAntiForgeryToken]属性は機能しなくなりました。

  3. エンティティフレームワークによって生成されたクラスを直接使用することはできません。そのために "循環参照"エラーが発生します。

私はこのアプローチを採用するのはほとんど残念です。 2ウェイバインディングを使用するといいですが、私はangularJSを使用しないと、避けることができる余分なコードをたくさん書く必要があります。 1ページに複数のフォームを書き込んで、ここに示すように同じ結果を得ることができます:

Multiple Forms in same page ASP.net MVC

コードを書く必要がある他のMVC機能を教えてください。いつangularJSを使用すればいいですか?また、同じページで複数のフォームを使用する必要があるのはいつですか?あなたはそれらの上場ポイントの痛みを和らげることができますが、それでも、最初からあなたのためのより良い何を決定する方がよいかもしれません

おかげ

+0

Angularを使用している場合は、WebAPIを使用して必要なデータ(JSON)を単純に返し、ビューテンプレートでビューをレンダリングする必要があります。ビューのレンダリングにMVCを使用しているので、Angularのメリットの多くを打ちのめすことになります。 MVCを行い、双方向データバインディングをしたいのであれば、クライアント側ではAngularではなくKnockoutを使用します。 –

+0

私が正しく覚えていれば、Knockoutは[ValidateAntiForgeryToken]でも動作しません。フォームを提出して機能させる必要があります。 – MsBugKiller

答えて

1

- レンダリングビュークライアント側(角度)またはサーバー側(MVC )。

とにかく、記載されている問題のいくつかについては、既知の解決策があります。 MVCの検証のための角度のディレクティブの属性: ここにも解決策である[ValidationAntiForgeryToken]についてはhttps://github.com/alisabzevari/ngval

https://julianjelfs.wordpress.com/category/mvc/

私は(私はそれが角に無関係だと考えている)複数のフォームに関する事を理解し、その上でスキップされていませんthis ..

関連する問題