質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

SQL Server Reporting Services

SQL Server Reporting Services (SSRS)はMicrosoftが開発したサーバベースのレポートジェネレータです。組織的なレポートの作成、配置、管理に役立てることのできるツールやサービスが豊富に用意されています。

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

Q&A

解決済

2回答

1416閲覧

SSRSからのC#関数呼び出し

5peach

総合スコア2

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

SQL Server Reporting Services

SQL Server Reporting Services (SSRS)はMicrosoftが開発したサーバベースのレポートジェネレータです。組織的なレポートの作成、配置、管理に役立てることのできるツールやサービスが豊富に用意されています。

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

0グッド

0クリップ

投稿2020/10/13 09:26

編集2020/10/14 00:05

####やりたいこと
ASP.NETのWebFormで、C#を使ってデータベースから情報を参照するサイトを作成しています。
情報の参照にあたって、SSRSを使用して表形式で検索結果を出力し、さらにその検索結果にC#の関数を埋め込んで、検索結果から特定の項目をクリックした際にその関数が実行されるようにしたいです。

SSRSのセルにハイパーリンクやjavascript関数を埋め込めることは分かったのですが、C#の関数を呼び出す何かを埋め込むことはできないのでしょうか。

####バージョン情報
Visual Studio 2017
.NET Framework 4.7.2

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/10/13 21:17

何を作っているか (Web Forms?) と開発環境 (.NET Framework, Visual Studio のバージョンなど) ぐらいは質問の一行目に書くとかできませんか?
5peach

2020/10/14 00:08

返信ありがとうございます。 開発環境のバージョン情報を追記しておきました。 まだまだわからないことが多く、説明不足でしたら申し訳ありません。
退会済みユーザー

退会済みユーザー

2020/10/15 00:30

質問者さん、無言になってしまいましたが、回答したのでそれに対するフィードバックを回答のコメント欄に書いてください。役に立った/立たなかったぐらいはすぐ返事できるのでは? 役に立たなかったなら、どこが期待する回答と違うのかを書いてもらえると代案とか出せるかも。とにかく無言は NG です。
5peach

2020/10/15 02:31 編集

すみませんでした。昨日は情報を追記した後体調が悪くなってしまい、パソコンを触れませんでした。 AJAXについては一度試してみようと思いますが、ほかの仕事も入ってしまっており今すぐに試せる状況ではありません。方針としては大変参考になる方法でしたので、1週間以内には試してお返事するようにしたいと思います。 回答にすぐにご反応できずすみませんでした。
退会済みユーザー

退会済みユーザー

2020/10/21 00:29

回答したのでそれに対するフィードバックを回答のコメント欄に書いてくださいとお願いしたはずですが無視ですか?
guest

回答2

0

自己解決

javaScriptからC#を呼び出す方法についての回答をいただいたので、その方向での実装を進めました。

javascript関数で__doPostBack("TARGET","ARGUMENT")を入力し、C#のPage_Load関数内にif(IsPostBack & Request["__EVENTTARGET"] == "TARGET"){実行したい関数}を組み込むことでC#内の関数を呼び出すことができました。

投稿2020/10/21 00:19

5peach

総合スコア2

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/10/21 00:28

プログラマが doPostBack メソッドを使うのはダメです。公開されているわけではないので、使えなくなったり、仕様が変わるかもしれませんので。他に手段があります。
guest

0

SSRSのセルにハイパーリンクやjavascript関数を埋め込めることは分かったのですが、C#の関数を呼び出す何かを埋め込むことはできないのでしょうか。

質問者さんの言う SSRS とは ReportViewer のことですか? 何にせよ、質問者さんが自力で JavaScript の関数を埋め込んで必要に応じて起動できると理解して・・・

その理解でよければ、クライアント側からのスクリプトを使った(要するに Ajax を利用した)要求を受けられる Web サービスとか WCF を ASP.NET Web Forms アプリに追加し、それから C# の関数を呼び出すと言ったことは可能です。

ただし、それで質問者さんのやりたいことが実現できるかは、C# の関数というのが具体的に何でどういうことをするのか質問には書いてないので分かりませんが。

とりあえず、Web サービスを使った場合の具体例を紹介しておきます。

ASP.NET AJAX でページの静的メソッド呼び出し
http://surferonwww.info/BlogEngine/post/2012/08/18/aspnet-ajax-client-script-to-call-server-side-static-method-in-page.aspx

jQuery AJAX と Web サービス
http://surferonwww.info/BlogEngine/post/2011/06/04/jQuery-AJAX-and-Web-Service.aspx

上の記事の例は、呼び出す相手は Web サービス (.asmx) のメソッドですが、自分のページの静的メソッドを呼び出すことも可能です。具体例は以下の通りです。

ASP.NET AJAX でページの静的メソッド呼び出し
http://surferonwww.info/BlogEngine/post/2012/08/18/aspnet-ajax-client-script-to-call-server-side-static-method-in-page.aspx

投稿2020/10/14 01:41

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問