@IT会議室は、2009年4月15日に新システムに移行し、さらに2012年5月29日にITエンジニアに特化した
質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用くださいませ。
- PR -

JavaScriptへ引数を渡せるのでしょうか?

投稿者投稿内容
ももも
会議室デビュー日: 2004/12/07
投稿数: 9
投稿日時: 2004-12-07 18:33
はじめまして。もももと申します。
いつも勉強させて頂いております。


C#にてASP.NETの開発を行っています。

CustomValidatorについて、以下の様なことが実施可能か教えてください。
1.JavaScriptへ引数を渡すこと。
2.ClientValidationFunctionを拡張した機能を追加し
  1つのValidatorにて複数の入力チェック(必須、長さ、数値など)が
  可能かどうか?

具体的に言うと・・・
1.デフォルトの〜〜Validatorでは単一のチェックしか実行でない。
  →複数のチェックには複数のValidatorが必要だが、処理が重くなる。
2.チェック項目毎にJavaScriptにて関数を作成する必要がある。
  →汎用性・生産性が低い。

そこで、チェック用関数を1つだけ準備し、チェック項目は
引数で渡せば良いのでは?と考えた訳ですが実現方法が
わからず皆さまのお知恵を拝借できればと思い投稿しました。

参考になる文献、URLまたは実現方法のヒントなど有りましたら
よろしくお願い致します。
たつごろー
ぬし
会議室デビュー日: 2004/10/25
投稿数: 496
投稿日時: 2004-12-08 12:17
> 1.JavaScriptへ引数を渡すこと。

JavaScriptの作成をASP.NET側でやってしまえば、値を渡すことはできます。

「C#からJavaScriptで作った関数を呼び出してそのときに引数で値を渡せますか?」
なら、それは無理なはず。

> 2.ClientValidationFunctionを拡張した機能を追加し
>   1つのValidatorにて複数の入力チェック(必須、長さ、数値など)が
>   可能かどうか?

ClientValidationFunctionに値を渡したいなら、引数以外の方法でやればよい
のではないでしょうか。
Hiddenフィールドとかね。

> チェック項目は引数で渡せば良いのでは

作ろうとしているシステムで使う値チェックが、ある程度定型化していれば、
コントロールにまとめることもできますね。

> →汎用性・生産性が低い。
ASP.NETで用意されているものでもそんなに悪くないと思うんだけど、いろんな
方法を試してみて、それから比較してみてはいかがでしょう。

_________________
たつごろー
codeseek
こみゅぷらす
ももも
会議室デビュー日: 2004/12/07
投稿数: 9
投稿日時: 2004-12-08 13:21
たつごろーさん。
回答頂きありがとうございます。

>> 1.JavaScriptへ引数を渡すこと。
>JavaScriptの作成をASP.NET側でやってしまえば、値を渡すことはできます。
>「C#からJavaScriptで作った関数を呼び出してそのときに引数で値を渡せますか?」
>なら、それは無理なはず。
これは無理ですか。
MSDNやここ以外の掲示板等で探しても出てこなかったはずです。

>> 2.ClientValidationFunctionを拡張した機能を追加し
>>   1つのValidatorにて複数の入力チェック(必須、長さ、数値など)が
>>   可能かどうか?
>ClientValidationFunctionに値を渡したいなら、引数以外の方法でやればよい
>のではないでしょうか。
>Hiddenフィールドとかね。
Hiddenフィールドですか。
自分のやりたいことができるかどうか、今から調べてみます!

>作ろうとしているシステムで使う値チェックが、ある程度定型化していれば、
>コントロールにまとめることもできますね。
これは以前に作成した関数(JavaScript)を使用するので問題はないと考えています。

>> →汎用性・生産性が低い。
>ASP.NETで用意されているものでもそんなに悪くないと思うんだけど、いろんな
>方法を試してみて、それから比較してみてはいかがでしょう。
別業務にてValidatorを多数使用していて
・チェック関数を大量に作成すること。
・開発時に画面を開くのに時間がかかる
などメンバーから改善要望があった経緯がありまして。

何はともあれ、再検討してどのようにするか決めたいと思います。
ももも
会議室デビュー日: 2004/12/07
投稿数: 9
投稿日時: 2004-12-08 13:27
もももです。

お手数をお掛けして大変申し訳ございません。

>「C#からJavaScriptで作った関数を呼び出してそのときに引数で値を渡せますか?」
>なら、それは無理なはず。

上記に関してですが、公式/非公式サイトで記述があったということでしょうか?
差し支えなければ、URLを教えていただけませんでしょうか?

よろしくお願いします。
burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2004-12-08 13:54
>上記に関してですが、公式/非公式サイトで記述があったということでしょうか?
>差し支えなければ、URLを教えていただけませんでしょうか?

C#のコードはサーバーサイド
JavaScriptはクライアントサイド
ASP.NETの仕組みを理解すれば無理だとわかるはずです。

きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2004-12-08 14:09
もももさん、こんにちは。

引用:

上記に関してですが、公式/非公式サイトで記述があったということでしょうか?


JScript.NET で書いたライブラリをC#で使用したいとか、そういう話ではありませんよね?
JavaScriptがどこで動作するのか、一方、C#で書かれたASP.NETアプリケーションがどこで動作するのかを考えれば、まあ、普通は出来ないと思って良いんじゃないでしょうか。
もちろん、出力されるHTMLはスクリプト部も含めてプログラマブルなわけですから、
<input type="submit" value="Click Me" onclick="HogeHoge('a','b','c');" />
というようなHTMLを動的に出力すれば、間接的に「C#からJavaScriptで作った関数へ引数を渡している」と言えない事もありませんけど(たつごろーさんが言っているのはこういうような事です)。

大抵、出来る事についての記述はあっても、出来ない事についての記述はほとんど無いんじゃないでしょうか。
MDプレイヤーの取説には、多分、「CDの再生は出来ません」とか「ビデオの録画は出来ません」という記述は無いと思います。

被った…。


[ メッセージ編集済み 編集者: きくちゃん 編集日時 2004-12-08 14:11 ]
ももも
会議室デビュー日: 2004/12/07
投稿数: 9
投稿日時: 2004-12-08 14:12
burton999さん。
お返事ありがとうございます。

>>上記に関してですが、公式/非公式サイトで記述があったということでしょうか?
>>差し支えなければ、URLを教えていただけませんでしょうか?
>C#のコードはサーバーサイド
>JavaScriptはクライアントサイド
>ASP.NETの仕組みを理解すれば無理だとわかるはずです。

何か方法があれば良いなぁ。と安易に考えていましたが
自分の勉強不足がよくわかりました。
これからもよろしくお願いします。
ももも
会議室デビュー日: 2004/12/07
投稿数: 9
投稿日時: 2004-12-08 14:35
きくちゃんさん、お返事ありがとうございます。

>大抵、出来る事についての記述はあっても、出来ない事についての記述はほとんど無いんじゃないでしょうか。
言われてみるとその通りですね。
自分の知識のなさからパニック状態です。

><input type="submit" value="Click Me" onclick="HogeHoge('a','b','c');" />
>というようなHTMLを動的に出力すれば、間接的に「C#からJavaScriptで作った関数へ引数を渡している」と言えない事もありませんけど(たつごろーさんが言っているのはこういうような事です)。

また的外れなことを書いてしまうかも知れませんが
上記の例のようにHTMLを動的に出力するにはC#側でコーディングするのでしょうか?


とりあえず、今の自分のつたない知識の整理と、ASP.NET(C#・JavaScript)の仕組みを理解するところから始めた方が良いと身に染みました。

アイティメディアの提供サービス

ホワイトペーパー(TechTargetジャパン/閲覧には会員登録が必要です)

スキルアップ/キャリアアップ(JOB@IT)