- PR -

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

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

引用:

上記の例のようにHTMLを動的に出力するにはC#側でコーディングするのでしょうか?


…むむむむむ〜。

引用:

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


って、言ってませんでしたっけ!?
burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2004-12-08 16:18
たとえばテキストボックスにフォーカスを設定するようなスクリプトを
C#で動的に生成するには以下のようになります。

コード:
public class WebForm1 : System.Web.UI.Page
{
    protected System.Web.UI.WebControls.TextBox TextBox1;
    protected System.Web.UI.WebControls.TextBox TextBox2;

    private void Page_Load(object sender, System.EventArgs e)
    {
        System.Text.StringBuilder script = new System.Text.StringBuilder();
        script.Append("<SCRIPT language=\"javascript\">");
        script.Append("var element = document.getElementById(\"" + this.TextBox2.ClientID + "\");");
        script.Append("element.focus();");
        script.Append("</SCRIPT>");

        this.RegisterStartupScript("SetFocus", script.ToString());
    }
}



あとは
WebControl.Attributesプロパティ などを使用してもスクリプトを動的に生成できますので
調べてみてください。

ももも
会議室デビュー日: 2004/12/07
投稿数: 9
投稿日時: 2004-12-08 16:36
きくちゃんさん、burton999さん、お返事ありがとうございます。

>>C#にてASP.NETの開発を行っています。
>って、言ってませんでしたっけ!?
1番最初に言ってます・・・。
この辺の初歩の初歩から頭を整理してきます。
そして、本屋で書籍を漁って勉強します。


>たとえばテキストボックスにフォーカスを設定するようなスクリプトを
>C#で動的に生成するには以下のようになります。
  ・・・・
>あとは
>WebControl.Attributesプロパティ などを使用してもスクリプトを動的に生成できますので
>調べてみてください。
わざわざコードを書いて下さって非常に嬉しい反面、自分に対する情けなさを痛感します。

1週間ほど前から.Netの開発を始めたばかりでどこから勉強してよいやらわからない
ところに、開発に向けての調査で知識の絶対量が不足している状態なので
まず1から勉強しなおしてみます。(1から・・・と言っても全然わからない事だらけですが)

今回の様な質問に対して親切な回答を頂きました皆さんに大変感謝しております。
ありがとうございました。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-12-09 21:38
引用:

もももさんの書き込み(2004-12-07 18:33)より:

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


 アレ?そうでしたっけ?CustomValidator以外は、そうかもしれませんね。CustomValidatorだと、検証関数を指定できます。つまり、こいつは検証結果を表示する領域を持った、検証対象と検証関数を結びつけるコントロールと言うことになります。したがって、検証関数で適切に検証対象コントロールを振り分けることができれば、1つの検証関数で複数のコントロールを検証できることになります。

_________________
ももも
会議室デビュー日: 2004/12/07
投稿数: 9
投稿日時: 2004-12-13 09:23
Jittaさん、おはようございます。

現在、CustomValidatorを拡張させ、複数のチェックを1つの関数で行うように
しました。ただ、メッセージをどこで編集するかで考えています。

もともとの属性であるErrorMessageをどこかで編集しようと思っているのですが
クライアント側(JavaScript)で編集するとPostBackした後、メッセージが
正しく編集できていない(または文字化けしている?)ようなので
サーバ側でチェックしようかと考えています。

金曜日はMSDNを見ながら試行錯誤してました。
返事が遅くなりすいませんでした。
ももも
会議室デビュー日: 2004/12/07
投稿数: 9
投稿日時: 2004-12-13 15:24
自己レスです。

上記の件(メッセージの文字化け)は解決しました。

他のスレッドで"〜.jsファイルを、【UTF-8】で保存する"を見かけたので
真似をしたら正常に出力されました。

お騒がせ致しました。
ぼのぼの
ぬし
会議室デビュー日: 2004/09/16
投稿数: 544
投稿日時: 2004-12-13 15:39
余談ですが、クライアントサイドで動作するスクリプトファイルをutf-8で保存しないとうまく動かないのは、Web.configのぐろーばりぜーしょんのとこが
<globalization requestEncoding="utf-8" responseEncoding="utf-8" />
ってなってるからなんですね。私も最近知ったことなんですけど。ここを"Shift-JIS"に直したら、SJIS保存で動くようになりました。私の場合、使ってるステップカウントツールがSJISしか対応してないのでこっちの方法を使ってます。
ももも
会議室デビュー日: 2004/12/07
投稿数: 9
投稿日時: 2004-12-14 12:59
ほのぼのさん、こんにちは。

utf-8 or Shift-JISのどちらで統一するか・・・。
使用するツールにあわせる必要がありそうですね。

# 私の場合、Shift-JISとどっちにしましょうか?
# で、utf-8にしてくれ!ってなりました。

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