はじめまして、宜しくお願いします。

ASP.netのC#で開発を行っています。

チェックボックスリストのチェックボックスをチェックした際に、
SelectedIndexChangedイベントが発生しサーバ側で受け取れる
はずだと思っているのですが、全くポストバックされていないようです。

プロパティの「AutoPostBack」はTrueにしています。

ほかに条件はありますでしょうか?
ご存知の方がいらっしゃいましたら、宜しくお願い致します。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

もしかして、先ほど、


http://okwave.jp/qa4974802.html
で質問したやり方で、動的に選択項目を生成しているからイベントが発生しないとか?いや、それはないかなぁ。AutoPostBackもTrueみたいですし。

一応、イベント設定方法のやり方は2種類あるのでどちらかお好きな方でおためしください。

方法1:
CheckBoxList を定義している個所に
「OnSelectedIndexChanged="イベント処理用メソッド名"」
を記述する

例:
<asp:CheckBoxList
ID="CheckBoxList1"
runat="server"
AutoPostBack="true"
OnSelectedIndexChanged="CheckBoxList1_SelectedIndexChanged">
</asp:CheckBoxList>

方法2:
Page_Init や Page_Load などのイベントで、
CheckBoxList1.SelectedIndexChanged += new EventHandler(イベント処理用メソッド名);
を記述する

例:
protected void Page_Init(object sender, EventArgs e)
{
  CheckBoxList1.SelectedIndexChanged += new  EventHandler(CheckBoxList1_SelectedIndexChanged);
}

protected void CheckBoxList1_SelectedIndexChanged(object sender, EventArgs e)
{
  // 選択された時の処理を書く
  if (CheckBoxList1.SelectedIndex > -1)
  {
    Label1.Text = CheckBoxList1.SelectedValue;
  }
  else
  {
    Label1.Text = string.Empty; 
  }
}

また、わからなければご連絡ください。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます!
まず、今までやっていたのは方法2の方法でした。
しかし、CheckBoxList1.SelectedIndexChanged += new  EventHandler(CheckBoxList1_SelectedIndexChanged);

の部分はまったく記述していませんでした。
ただチェックボックスリストのコントロールをダブルクリックしてジャンプしたCheckBoxList1_SelectedIndexChangedの中に処理を記述しただけでできると思っていました。

よって方法2を参考に
CheckBoxList1.SelectedIndexChanged += new  EventHandler(CheckBoxList1_SelectedIndexChanged);

を追記してみたところ動作は変わらず。
ブレークポイントを張ってみても通りません。

次に方法1のロジックをHTMLのコードに追記してみました。
が、チェックを付けてもイベントが発生しません。

しかし今度は、「チェックをつけた後に何かほかのボタンを押したら、その時にボタンクリックイベントの直前にSelectedIndexChangedイベントが発生している」模様です。

ひょっとしてこの動作が「SelectedIndexChangedイベントが発生している」状態なんでしょうか?

私はAutoPostBackをTrueにすれば、チェックを入れた瞬間にポストバックが行われると思っていたのですが・・・いかがでしょうか?

長々と書いてしまい申し訳ありません。
宜しくお願い致します。

お礼日時:2009/05/21 13:46

>Userが金額を入力できるスプレッドがあり、Userが金額を修正した瞬間に合計を集計してスプレッド外のテキストボックスに即座に反映するようにしたいと思っているのですが可能でしょうか?


スプレッドのイベントの取り方などをサイトで調べてもあまり情報が無いようで・・・。
>良いURLでもありましたらご教授いただきたいと存じます。

この件は、新規質問で別途スレッドをあげて頂けると助かります。
即答できますが、当初の質問に対する問題は解決したので、このスレッドを締め切った後に、上記質問を新規で質問して頂けると有難いです。

わかることであればお答えしますので、宜しくお願いします。
    • good
    • 0
この回答へのお礼

了解致しました。
何度も丁寧に有難うございます!

お礼日時:2009/05/21 17:07

>しかし今度は、「チェックをつけた後に何かほかのボタンを押したら、その時にボタンクリックイベントの直前にSelectedIndexChangedイベントが発生している」模様です。



もしかして、IsPostBack で条件判定している中に
SelectedIndexChangedイベントを設定したり、AutoPostBackを
Trueにさせるようなことしてませんか?

ひとまず下記のようなコードに書きなおしてみてください。

--------------------------------------------------------------
*.aspx ファイル
--------------------------------------------------------------
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitio …

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">

<asp:CheckBoxList
ID="CheckBoxList1"
runat="server" />

<asp:Label ID="Label1" runat="server">
</asp:Label>
</form>
</body>
</html>

--------------------------------------------------------------
*.aspx.cs ファイル
--------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Default : System.Web.UI.Page
{
  protected void Page_Init(object sender, EventArgs e)
  {
    // CheckBoxList1のイベントを追加する
    CheckBoxList1.AutoPostBack = true;     // ポストバックを有効
    CheckBoxList1.EnableViewState = true;   // ViewStateを有効
    CheckBoxList1.SelectedIndexChanged += new EventHandler(CheckBoxList1_SelectedIndexChanged);
  }

  protected void CheckBoxList1_SelectedIndexChanged(object sender, EventArgs e)
  {
    // 選択された時の処理を書く
    if (CheckBoxList1.SelectedIndex > -1)
    {
      string value = string.Empty;

      foreach (ListItem item in CheckBoxList1.Items)
      {
        if (!item.Selected)
        {
          continue;
        }

        if (!string.IsNullOrEmpty(value))
        {
          value += ",";
        }
        value += item.Value;
      }

      Label1.Text = value;
    }
    else
    {
      Label1.Text = string.Empty;
    }
  }

  protected void Page_Load(object sender, EventArgs e)
  {
    // PostBackではなく初期ロードの時
    if (!IsPostBack)
    {
      // チェックボックスリストの項目を表示する
      List<ListItem> items = new List<ListItem>();

      items.Add(new ListItem("項目1", "1"));
      items.Add(new ListItem("項目2", "2"));
      items.Add(new ListItem("項目3", "3"));

      CheckBoxList1.Items.AddRange(items.ToArray());
    }
  }
}

もし、上記でも動かなければ、一度、リビルドしてみてください。
イベント設定したのに、イベントが動かないというのは、
イベントを設定したロジックを通っていない以外にはありえませんので
よく、ソースコードをご確認ください。

>私はAutoPostBackをTrueにすれば、チェックを入れた瞬間にポストバックが行われると思っていたのですが・・・いかがでしょうか?

その認識で正しいですよ。間違ってないです。

もし、これでも問題解決できなければ、作ったソースコードを見せてください。どうぞ宜しくお願いします。
    • good
    • 0
この回答へのお礼

こんなに丁寧にご回答していただいて、本当に有難うございます!
いただいたソースコードにて正常動作を確認しました。
そして、今まで動かなかった原因が判明しました。

「コントロールのプロパティで"AutoPostBack"をTrueにしているのに、HTMLのコードでみるとTrueになっていない」

という状況でした。
このHTMLに手書きでAutoPostBack=Trueを加えるとうまく行きました。
何故こんなことになったのかは全くわかりませんが・・・??

とりあえずkero-mioさんのソースコードを参考に、デザイナからではなくコードからCheckBoxList1.AutoPostBack = true; とするようにし
正常動作するようになりました!

なんだかデザイナのボタンの名称とHTMLのコード上での名称が
合わないこともあったりしたので、この辺はけっこう怪しむ必要が
ある感じなのでしょうかね?

丁寧にアドバイスありがとうございました!助かりました!

ちなみに、もうひとつ別件で質問があるのですが・・・(調子に乗ってすみませんw kero-mio様が詳しそうなもので。)

Userが金額を入力できるスプレッドがあり、Userが金額を修正した瞬間に合計を集計してスプレッド外のテキストボックスに即座に反映するようにしたいと思っているのですが可能でしょうか?
スプレッドのイベントの取り方などをサイトで調べてもあまり情報が無いようで・・・。
良いURLでもありましたらご教授いただきたいと存じます。

お礼日時:2009/05/21 15:55

当方のWinXP SP3 + VS2005 SP1 + IIS の環境では


綺麗にポストバックしますよ

データバインディングでCheckBoxの項目を生成するのではなく
Itemsコレクションに追加してテストしております

質問の現象の発生する最小の手順も明記したほうがよいかと思います
開発環境や実行環境の明示もしましょう
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
そーですか~、ポストバックしするんですね~。

私の環境はVisualStudio2008のC#で、IISは使ってません。
(そもそもIISが何か全くわかっていないのです。すみません勉強します。)

お礼日時:2009/05/21 13:35

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QDHCPに関するイベントログの意味が不明です

【ネットワークセキュリティ 】というぱっとしないカテゴリですが、ここが一番近いので、これで質問します。

特に支障があるわけではないのですが、イベントログにあがるDHCPのメッセージについて意味がわからず、気持ち悪い思いをしています。20年にわたり汎用機の適用業務の三流SEだったのにもかかわらず恥ずかしい限りです。

次のようなシステム環境です。
(1)Window XP SP2 のPC2台
(2)ネットワーク:FTTHでブロードバンドルータを使い、1台は有線、もう一台は無線で接続しています。
(3)ウィルスバスター2007で、プロファイルは「家庭内ネットワーク2」のデフォルト設定です
(3)ブロードバンドルータでの、DHCPのリース期間は48時間です。
(4)毎朝、2台のPCを立ち上げ使用し夜にはシャットダウンしています。
(5)ネットワーク接続時、1台は 192.168.11.2 もう一台は 192.168.11.3 が割り当てられ、ルータ自身は 192.168.11.1です。
どちらから立ち上げても、同じIPアドレスが割り当てられます。

そして、このような環境と運用のなかで、2台とも、次に示すイベントログがあがります。ネットワークカードのアドレスは伏字にしています。

■エラー ソースDHCP イベントID 1002
ネットワーク アドレスが 00XXXXXXXXXX のネットワーク カードに対する IP アドレス 192.168.11.2 のリースが、DHCP サーバー 192.168.11.1 から拒否されました。DHCP サーバーは DHCPNACK メッセージを送信しました。

■警告  ソースDHCP イベントID 1003
ネットワーク アドレスが 00XXXXXXXXXX のネットワーク カードに対して、ネットワーク (DHCP サーバー) から割り当てられたアドレスを書き換えることができませんでした。 次のエラーが発生しました:
セマフォがタイムアウトしました。 ネットワーク アドレス (DHCP) サーバーから引き続き、アドレスの取得を 試みます。

立ち上げる日によって、どちらかがログに書かれます。

また、警告の「セマフォがタイムアウトしました」は有線接続の方、無線接続は「この操作はユーザーによって取り消されました」と出ます。

ログのほうからmicrosoftのほうにアクセスしても、英語力に乏しい私は手に負えず、技術情報にキーワードでアクセスしても、現象とマッチしたものには出会えません。

ネットワークにお詳しい方、よろしくお願いします。

【ネットワークセキュリティ 】というぱっとしないカテゴリですが、ここが一番近いので、これで質問します。

特に支障があるわけではないのですが、イベントログにあがるDHCPのメッセージについて意味がわからず、気持ち悪い思いをしています。20年にわたり汎用機の適用業務の三流SEだったのにもかかわらず恥ずかしい限りです。

次のようなシステム環境です。
(1)Window XP SP2 のPC2台
(2)ネットワーク:FTTHでブロードバンドルータを使い、1台は有線、もう一台は無線で接続しています。
(3)ウィ...続きを読む

Aベストアンサー

DHCPの動作は通常,

立ち上げたPCは以前割り当てられたIPアドレスを割り当ててほしいとDHCPサーバに問い合わせます。そのIPアドレスが割り当てられないとDHCPサーバが判断すると1番目のメッセージがでます。

2番目はDHCPサーバが割り当てたIPアドレスにPCのネットワークカードが変更されなかった結果です。

DHCPサーバーは通常は同じMACアドレスには特別な事情(IPが足りずに他に使われているなど)が無い限り同じIPを割り当てる動作をします。

上記のエラーがでても最終的にはちゃんと接続できているようなので,最初のDHCPとPCとのネゴシエーションに失敗してこのログが残っているのだとおもいますので,気にしなくて良いと思います。

QASP:チェックボックスについて

アンケートページを作成中です。HTMLでチェックボックスを作りました。テキストベースかエクセルベース(縦並び)でアンケートの答えを書き出し集計をとる予定です。まず、ラジオボタンに対してのASPは分かったのですが、チェックボックスに対してのASPが分かりません。複数チェックが出来なくなってしまったり、結果(テキストやエクセル)にアンケートの答えが出なく”;;”表示になってしまいます。分かる方、どうか教えてください。ASP初心者です。よろしくお願いします。

Aベストアンサー

「チェックボックスがおかしい」ということは ASP の問題じゃなくて、HTML 表現でチェックボックスをちゃんと書けてないか、理解していないだけの話だと思います。
ASP はそれを動的に出力するように Response.Write するだけです。

まずは「正しく表示できていない」というページをブラウザで開いて、HTML コードを表示させてみてください。
そこで「HTML コードにどんな不備があるので正しく表示できないのか」を確認します。
次に「ASP のコードのどの部分が該当するのか」を確認して適宜修正します。



「ASP 初心者です」という方にいつも薦めている推進方法があります。

(1) 作りたいページのサンプルを通常の HTML で作成してください。

(2) サンプルページの HTML コードを見て理解してください。

(3) その HTML コードのうち、条件によって変化する部分を、条件によって変化して出力できるように書き直してください。

以上です。
(1) と (2) が理解できてないと ASP によって正しい HTML を出力させるコードを書く (3) は無理ですよね。
ramu-rin さんは (1) や (2) をイメージできていますか?
ramu-rin さんが書いた ASP コードによってブラウザに出力された HTML コードを確認してみましたか?
確認してみて、本来出力したい正しい HTML コードと何が違っていますか?

「チェックボックスがおかしい」ということは ASP の問題じゃなくて、HTML 表現でチェックボックスをちゃんと書けてないか、理解していないだけの話だと思います。
ASP はそれを動的に出力するように Response.Write するだけです。

まずは「正しく表示できていない」というページをブラウザで開いて、HTML コードを表示させてみてください。
そこで「HTML コードにどんな不備があるので正しく表示できないのか」を確認します。
次に「ASP のコードのどの部分が該当するのか」を確認して適宜修正します。

...続きを読む

Q写真集発売イベントでの特典の意味が解りません???

某書店で行われる写真集発売記念イベントについて。

2冊購入すると「ツーショットチェキ1枚」、3冊購入すると「ミニ撮影会」と書店のHPに記載されてました。

ツーショットチェキとは、タレントと客と二人並んで、係員に撮影してもらうんでしょうか? チェキって何ですか??

ミニ撮影会とは、ツーショット撮影ではなく、タレントさんだけをカメラ持参で撮影するのでしょうか? 

Aベストアンサー

「 チェキ 」は富士フイルムが発売しているインスタント
カメラのことで、その場ですぐに写真が見れるポラロイド
のようなものです。いわゆるポラロイドよりサイズが小さ
いので現場で扱いやすいことと、バンバン撮るのに適して
いるので、発売記念イベントの現場ではよく使われています。

 ですので、ツーショットチェキに関してはご想像の通りです。

 ミニ撮影会についてもご想像の通りです。たいていは
イベント終了後、参加者が別室に移動し、そこで10分
程度自由に撮影することができます。基本的にムービー
は禁止で、ポーズもあまり自由にお願いできなかったり
しますが、目線くらいはくれるのでファンには好評です。

参考URL:http://www.fujifilm.co.jp/instant/index.html

QASPでのチェックボックスの使い方について

初心者ですみません。
ASPを使い、データベース(mdbファイル)にアクセスし、
データを共有しようとしています。

そのなかで、チェックボックスを使いたいのですが、チェックボックスの
値の取得と、更新時にそれがどうなるのか(ちゃんとチェックが
ついた状態で表示されるのか)がわかりません。

フォームには、
<input type="checkbox" name="ビル:受付番号" value="OK">
というように、valueを設定していますが、データベースにこの情報が
格納されるには、
RS("ビル:受付番号") = Request.Form("ビル:受付番号")
では「OK」という値は格納されないんですね。
#ちなみに格納先はテキスト型です

別にOKじゃなくても、falseでもなんでもいいんですが、情報が
ちゃんとデータベースに反映されるようにまずしたいです。

さらにデータベースに載せた情報は後から更新することも考えられますので、
更新作業をしたときに、ちゃんとOKとなっている部分が
チェックボックスにチェックされた状態で表示されることを期待して
いるのですが、そういったことも可能でしょうか。

全然勉強不足で申し訳ありません。
こういったことはVBを勉強すればわかるんでしょうか。
何卒ご指南ください。

初心者ですみません。
ASPを使い、データベース(mdbファイル)にアクセスし、
データを共有しようとしています。

そのなかで、チェックボックスを使いたいのですが、チェックボックスの
値の取得と、更新時にそれがどうなるのか(ちゃんとチェックが
ついた状態で表示されるのか)がわかりません。

フォームには、
<input type="checkbox" name="ビル:受付番号" value="OK">
というように、valueを設定していますが、データベースにこの情報が
格納されるには、
RS("ビル:受付番号") = Request.F...続きを読む

Aベストアンサー

こんちくは。

>>RS("ビル:受付番号") = Request.Form("ビル:受付番号")

多分、チェック入れた状態でならONが格納されるでしょう。

http://chaichan.web.infoseek.co.jp/qa5000/qa5117.htm

参考は、上URLでもどうぞ~。

他にも、そのままTRUE・FALSEの値を持ってこれるような方法があったような無かったような気もしましたが。。。
すっかり忘れました。(おい。

まぁ、上の例で問題ないでしょうが。。。

>さらにデータベースに載せた情報は後から更新することも考えられますので、
>更新作業をしたときに、ちゃんとOKとなっている部分が
>チェックボックスにチェックされた状態で表示されることを期待して
>いるのですが、そういったことも可能でしょうか。

データベースを読んできて、のっかってる情報を元に、ASP側でチェックボックスを作ってやれば、可能です。
(初期状態で、ONになってる、もしくはOFFになっているチェックボックス。


>>こういったことはVBを勉強すればわかるんでしょうか。

http://www.site-cooler.com/kwl/asp/10.htm

こういうとこを自分で探して頑張ってやるしかないですねぇ。。。
案外、教本とか買っても、基本的なことしか載っていないので応用が利かない場合はやっぱ調べるしかないです。

千里の道も一歩からぁ~。


ついでに、

<input type="checkbox" name="ビル:受付番号" value="1号棟">
<input type="checkbox" name="ビル:受付番号" value="2号棟">
<input type="checkbox" name="ビル:受付番号" value="3号棟">
<input type="checkbox" name="ビル:受付番号" value="4号棟">

な~んて風にしちゃったりする事が今後発生すると、配列も扱うことになるので、
より面倒になります。
がんばって探して&覚えてください。としか言いようが無いですけどね。。。(汗

さらについでにもう一つ(汗


>>ビル:受付番号

出来るだけ、日本語は使わないことをオススメしておきます。
無理矢理、ローマ字にしとくとかだけでも、後々痛い目を見ないで済むこともあります。
(Valueに関しても同様。

「biru_uketukeno」とか。(「:」だとか、「'」だとか、「%」だとか、「記号」関係は使わないに越したことは無いと個人的には思っています。

こんちくは。

>>RS("ビル:受付番号") = Request.Form("ビル:受付番号")

多分、チェック入れた状態でならONが格納されるでしょう。

http://chaichan.web.infoseek.co.jp/qa5000/qa5117.htm

参考は、上URLでもどうぞ~。

他にも、そのままTRUE・FALSEの値を持ってこれるような方法があったような無かったような気もしましたが。。。
すっかり忘れました。(おい。

まぁ、上の例で問題ないでしょうが。。。

>さらにデータベースに載せた情報は後から更新することも考えられますので、
>更新...続きを読む

QイベントID 3224 の意味がわかりません

会社で、データサーバ機として、使っている WindowsNT Server4.0 機なんですが、いつからか、システムのイベントログにきまったエラーが出ています。
 ソース:NETLOGON
 分類 :なし
 ID  :3224
 「次のエラーが発生したため、アカウント AAAAA$ のマシン アカウント パスワードの 変更に失敗しました:
 現在、ログオン要求を処理できるログオン サーバーは ありません。」

AAAAA はデータサーバのコンピュータ名です。
これについて、詳しい方、詳しいホームページ等ありましたら教えて下さい。

Aベストアンサー

MicrosoftのSuportServices の
http://support.microsoft.com/default.aspx?scid=%2Fisapi%2Fgomscom%2Easp%3Ftarget%3D%2Fjapan%2Fsupport%2Fkb%2Farticles%2Fjp186%2F5%2F45%2Easp&LN=JA

でどうでしょう。
ちなみに、MicrosoftのSuportServices で
「NETLOGON」で検索し、「3224」で絞込み検索しました。

参考URL:http://support.microsoft.com/default.aspx?scid=%2Fisapi%2Fgomscom%2Easp%3Ftarget%3D%2Fjapan%2Fsupport%2Fkb%2Farticles%2F

QASP.NETのGridViewでNULLの場合にチェックボックスにしたい

ASP.net(VB)とSQLSERVERで開発しているのですが、SQLSERVERでストアドプロシージャでSELECT文を発行するSQLを書きました。

1)そのデータをGridViewで表示したのですが、列がNULLの場合にチェックボックスを表示したい。←これが分からない
2)チェックボックスがonの状態で実行ボタンが押下された場合に別のストアドプロシージャを走らせてNULLを「確認済」としたい。

(例)
チェック   |名前 |メールアドレス
確認済    |Aさん|aaaa@test.co.jp
□(チェックボックス) |Bさん|bbbb@test.co.jp

[実行ボタン]

このようにこのようなことはGridViewで可能なのでしょうか?
それとも、HTMLコントロールを使用して一行ずつ書きこんでいくしかないのでしょうか?
返答をお待ちしております。

Aベストアンサー

実際やったわけではないですが、可能だと思います。

ただ「確認済」表示列とチェックボックス列を分けた方が簡単なのではないでしょうか?

さて、やり方としては、チェックボックスが含まれる列は、全行とにかくチェックボックスが表示されるようにデザインします。
実行時に、行の描画イベント(RowDataBoundイベント)の中で、値が NULL でなければ、CheckBox を削除/非表示するようにし、代わりに"確認済"と表示する Literal コントロールでも追加してやればよいんじゃないかと思います。

Qイベントevt?evt.target:event.srcElement;の意味合い

以下の理解で合っているのでしょうか?
よくイベントの取得で

エレメント.onclick = function(evt){
var e = evt?evt.target:event.srcElement;
}
でeにイベントオブジェクトの発生元要素をセットしているのを見かけますが、
これは、ブラウザーの違いの吸収なのでしょうか?

firefoxでは、イベントハンドラー関数にイベントオブジェクトが渡されるので、渡されたイベントオブジェクトよりevt.targetで発生元要素をセットし、一方IEでは、eventという名前のオブジェクトが存在している(?)ので、イベントハンドラー関数にイベントオブジェクトが渡されず、event.srcElementで発生元要素をセットする。
 ※Opera、Safariは何でも良い

IEの場合、後から、イベントが追加されたらeventオブジェクトはどうなるのでしょうか?ある要素の一つのイベントタイプには一つのイベントハンドラーしか定義できないのでしょうか?

Aベストアンサー

> ある要素の一つのイベントタイプには一つのイベントハンドラーしか定義できないのでしょうか?
attachEvent() を使えば、複数のイベントハンドラを定義できそうです。(未検証)
また、attachEvent() の第一引数からイベントオブジェクトを取得できる、とbabu_babooさんに教わりました。
http://okwave.jp/qa5081024.html?ans_count_asc=1

ただ、attachEvent は実行順が不定という欠点があるので、現実的には「出来ない」という結論になると思います…。

addEventListenerとattachEventでは実行される順番が違う at HouseTect, JavaScripter Blog
http://hisasann.com/housetect/2008/09/addeventlistenerattachevent.html
IEのイベント実行順序は不定? - inamenaiの日記
http://d.hatena.ne.jp/inamenai/20080915/p1

IEが addEventListener() に対応してくれればいいのですが…。

> ある要素の一つのイベントタイプには一つのイベントハンドラーしか定義できないのでしょうか?
attachEvent() を使えば、複数のイベントハンドラを定義できそうです。(未検証)
また、attachEvent() の第一引数からイベントオブジェクトを取得できる、とbabu_babooさんに教わりました。
http://okwave.jp/qa5081024.html?ans_count_asc=1

ただ、attachEvent は実行順が不定という欠点があるので、現実的には「出来ない」という結論になると思います…。

addEventListenerとattachEventでは実行される順番...続きを読む

QASPとASP.NETとASP.NET2.0の違い

Web開発初心者です。

帳票をPDF表示するWebアプリケーションを開発することになり、
言語はASPを使用することになりました。

そこで
ASP
ASP.NET
ASP.NET2.0
の違いをご存知の方がいらっしゃいましたら教えていただけますでしょうか。
それぞれIIS以外に必要な実行環境、ツール等も教えていただけると助かります。

不明瞭な箇所がありましたら説明させていただきます。
すいませんがよろしくお願いします。

Aベストアンサー

ASP用のツールは、多分、無いですね・・・
#メモ帳でASPファイルを作成してサーバにコピーとか。

ASP.NET用の開発ツールは、Microsft社製の「VisualStudio」シリーズがあり、
ASP.NET(1.1)は、「VislaStudio 2003」で、
ASP.NET2.0は、「VislaStudio 2005」で開発できます。


「Visual Web Developer 2005 Express Edition 」は、
「Visual Studio 2005」のEditionの1つで、有料のパッケージ版(入門者つき)と無料のダウンロード版があります。
機能的には同じで、無料版だからといって、商用利用の制限等はありません。

(http://www.microsoft.com/japan/msdn/vstudio/express/faq/default.aspx)

「Express Edition を商用目的で使用することはできますか。」

また、「ASP.NET1.1用」の無料の開発ツールとして、3rdパーティ製ですが、
「Web Matrix 」と言うのがあります。

「ASP.NET Web Matrix Project 日本語版」
(http://www.microsoft.com/japan/msdn/asp.net/webmatrix/)

ASP用のツールは、多分、無いですね・・・
#メモ帳でASPファイルを作成してサーバにコピーとか。

ASP.NET用の開発ツールは、Microsft社製の「VisualStudio」シリーズがあり、
ASP.NET(1.1)は、「VislaStudio 2003」で、
ASP.NET2.0は、「VislaStudio 2005」で開発できます。


「Visual Web Developer 2005 Express Edition 」は、
「Visual Studio 2005」のEditionの1つで、有料のパッケージ版(入門者つき)と無料のダウンロード版があります。
機能的には同じで、無料版だからといって、商用利用...続きを読む

QEnableEventsの意味は

VBAを勉強中の初心者です。

Excelでプロシージャの中に書かれている次の文は、どういう意味を持っているのですか。

Application.EnableEvents = False

'処理命令文

Application.EnableEvents = True

EnableEventsとは、何を可能にさせると言っているのでしょうか。
= Falseとは、何が違うと言っているのでしょうか。

割り込み禁止で、ここで処理が実行されている間は、他の余分なことは受け付けないと言っているのかと勝手な想像もしていますが、どうでしょうか。

教えて下さい。よろしくお願いします。

Aベストアンサー

こんにちは。

VBAを勉強中としたら、その辺りは、自然に分かってくるものだから、ちょっと早いかもしれませんね。イベント自体はお分かりになっていますね。後で、マニュアルやヘルプで確認してください。

他のアクションを起動にして、別の動作をするというものです。

Private Sub Worksheet_Change(ByVal Target As Range)

この場合は、Enter を押したときに発生します。

それ自体は、受身でよいのですが、そのマクロ自体が、別のセルを代入したりすると、もうひとつのイベントを発生させてしまい、プロシージャの中で、無限ループに近い形になっています。(ただし、完全な無限ループではないので、1万回程度で止まります。)そこで、その無限ループをとめなくてはならないので、そうした、

Application.EnableEvents = False
ということをします。

逆に、
Application.EnableEvents = True で戻してあげないと、今度は、そのイベント・ドリブン型プロシージャはうんともすんとも言わなくなってしまいます。

>割り込み禁止で、ここで処理が実行されている間は、他の余分なことは受け付けない

その範囲内だけ、イベントを発生させないということです。
厳密には、そういったものには、以下のようなものがあります。
Application.Interactive = False

.

こんにちは。

VBAを勉強中としたら、その辺りは、自然に分かってくるものだから、ちょっと早いかもしれませんね。イベント自体はお分かりになっていますね。後で、マニュアルやヘルプで確認してください。

他のアクションを起動にして、別の動作をするというものです。

Private Sub Worksheet_Change(ByVal Target As Range)

この場合は、Enter を押したときに発生します。

それ自体は、受身でよいのですが、そのマクロ自体が、別のセルを代入したりすると、もうひとつのイベントを発生させてしま...続きを読む

QASPでほかのサイトのソースを取得したい

はじめまして。

ASPでほかのサイトのソースを取得したいと思って試行錯誤しましたが、立ち往生してしまいました。
やりたいことをわかりやすく説明しますと
自分のサイト(ASP)でたとえばYahoo!(HTML)のHTMLソースを取得で特定の文字列を検出したいと考えています。

ASPでサーバー側でVBS実行してIEを起動しYahooを表示させようとしたらVBSの実行権限やProxyの問題でHTMLソースを取得できませんでした。

翻訳サイトなどでは自分のサイト以外のサイトのデータを取得して加工を加えていることを考えるとできると思うのですが、どのようにやったらいいのでしょうか?

ご存知の方いらっしゃいましたら、よろしくお願い致します。

Aベストアンサー

Basp21かな
あるいはVB6でActiveXを自作する

ASP.NETなら楽勝だけど


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング