5

私はまだそれについて行くための最良の方法がわかりません。

たくさんのリソースも読んだことがありますが、まだ実用的なソリューションに近づいていません。

  1. 部分的なASCXファイルを作成しました。レポートビューアを追加し、CSHTMLファイルでその部分をレンダリングしました。これは私が来た中で最も近いものでした。その中で、レポートビューア、ボタンなどを見ることができます。しかし、何らかの理由でデータが表示されません。

  2. 私は内部でASPXページを試しIFrameましたが、このソリューションを機能させることについては、これは私が行きたい方法ではありません。

  3. ASPXページを完全にロードします。_Layout.cshtmlしかし、メインページのスタイルが失われます。

config / Global.asaxであらゆる種類のものを変更することを提案する人もいますが、必要ではないと言う人もいます。

理想的には、ページの一部として表示したいと思います。しかし、メインのレイアウトを維持すれば、ページ上の唯一のものであることに対処できます。

古い構文/ページ/非MVCでの私の経験は、このプロジェクトに限定されています-これを機能させようとしています。

私のデータは、コンポーネントのセットアップを通じてリンクされています。接続は、単一ページまたはiframeとして、aspxページで正常に機能します。しかし、ascxではありません。

4

1 に答える 1

8

ReportViewコントロールでは、ViewStateを有効にする必要があります。ASP.NET MVCでは、そのような概念はもはや存在しません。これは、ネイティブASP.NETMVCビューまたはパーシャル内でこのコントロールを使用できないことを意味します。これは、従来のWebForm(ASP.NET MVCビューではなく)でのみ使用でき、このWebFormを現在のASP.NETMVCビューまたは部分的なiframe内に埋め込むことができます。たとえば、レポートを画像としてレンダリングし、このコントロールを使用せずに直接応答にストリーミングすることができます。これがテクニックを説明するブログ投稿です。<img>したがって、レポートをJPEG画像として生成するコントローラーアクションを作成し、タグを使用してビューからこのコントローラーアクションにリンクすることができます。残念ながら、これはレポートの静的コピーのみを作成し、ユーザーはレポートを操作できません。

ASP.NETMVCと従来のWebFormsを並べて実行する方法を説明するこのブログ投稿をチェックアウトすることもできます。

于 2013-01-20T17:56:24.223 に答える