C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[6]: ASP.NETでメッセージボックスを使うには??


(過去ログ 85 を表示中)

[トピック内 9 記事 (1 - 9 表示)]  << 0 >>

■50243 / inTopicNo.1)  ASP.NETでメッセージボックスを使うには??
  
□投稿者/ 盥ラマ (1回)-(2010/05/31(Mon) 22:39:54)

分類:[.NET 全般] 

ASP.NET(VB)でWEBアプリケーションを開発しています。
ある動作を行った際ユーザーに選択権を与えたいのでMsgBoxの使用を検討していました(Yes or No)
ローカル環境で動いたのでサーバに実装してみたらまったく動きません。
調べたところWEBアプリでは使えないんですね・・・
こういったときはどうやって手を打ったらいいのでしょうか?

実装したい内容としてはページ上に複数のチェックボックスがあります。
基本は1個のチェックのみで操作してもらいたいのですが複数つけることができるとユーザービリティがいい場合もあるので・・・
チェックボックスにチェックをつける動作をした後ボタンを押したときにチェックします。
1個の場合はスルーで処理の続きを行うことが出来て2個以上のときにメッセージを出して継続の有無を確認したいのです。
特にメッセージボックスという縛りはなく何らかの方法でYesNoを問えればいいなと思っています。
皆様の知恵をお貸しください
引用返信 編集キー/
■50244 / inTopicNo.2)  Re[1]: ASP.NETでメッセージボックスを使うには??
□投稿者/ 渋木宏明(ひどり) (1345回)-(2010/06/01(Tue) 00:00:57)
渋木宏明(ひどり) さんの Web サイト
> こういったときはどうやって手を打ったらいいのでしょうか?

どーしてもということなら、クライアントサイドスクリプトを使うことになります。

> 基本は1個のチェックのみで操作してもらいたいのですが複数つけることができるとユーザービリティがいい場合もあるので・・・

そうかな?
いくつかある候補から1個を選択させるなら、ラジオボタンを採用するべきと思いますが。

引用返信 編集キー/
■50259 / inTopicNo.3)  Re[1]: ASP.NETでメッセージボックスを使うには??
□投稿者/ Jitta on the way (643回)-(2010/06/01(Tue) 18:56:10)
No50243 (盥ラマ さん) に返信
> ASP.NET(VB)でWEBアプリケーションを開発しています。
> ある動作を行った際ユーザーに選択権を与えたいのでMsgBoxの使用を検討していました(Yes or No)
> ローカル環境で動いたのでサーバに実装してみたらまったく動きません。
> 調べたところWEBアプリでは使えないんですね・・・
> こういったときはどうやって手を打ったらいいのでしょうか?

たいてい、セットで解説されていると思いますが?


>
> 実装したい内容としてはページ上に複数のチェックボックスがあります。
> 基本は1個のチェックのみで操作してもらいたいのですが複数つけることができるとユーザービリティがいい場合もあるので・・・
> チェックボックスにチェックをつける動作をした後ボタンを押したときにチェックします。
> 1個の場合はスルーで処理の続きを行うことが出来て2個以上のときにメッセージを出して継続の有無を確認したいのです。
> 特にメッセージボックスという縛りはなく何らかの方法でYesNoを問えればいいなと思っています。
> 皆様の知恵をお貸しください

目的に応じて使い分けるのが普通だと思います。
1個しか許可しないなら、渋木さん同様、ラジオボタンにするべきと思います。
結局複数でもいいなら、問い合わせをしません。
引用返信 編集キー/
■50336 / inTopicNo.4)  Re[2]: ASP.NETでメッセージボックスを使うには??
□投稿者/ 盥ラマ (1回)-(2010/06/03(Thu) 23:42:55)
ご意見ありがとうございます。
ラジオボタンは考えたのですが・・・ユーザー要望といいますでしょうか仕方なしで・・・メッセージについてもユーザー要望であります。
チェックボックスで作動させても大して問題もないのでメッセージボックスの実装を考えていました。

いろいろ調べていくつかASP.NET上で実装手段がありそうですがどうしても達成できていません。
さまざまな資料見ても理解できていないのでお力を貸していただけないでしょうか。

案1
http://www.atmarkit.co.jp/fdotnet/dotnettips/015confirm/confirm.html
このページを参考にしてみたのですが・・・
aspx上に配置したボタンのプロパティにAttributesという項目がありません。
また、
private void Page_Load(object sender, System.EventArgs e)
{
  // ページを初期化するユーザー コードをここに挿入します。
  Button1.Attributes["onclick"]
      = "return confirm('本当に移動しますか?');";

はどこに書いてあげたらいいのでしょうか?
まだまだ頓珍漢でPublic Class のあとに書いたらエラーが出ます。(開発環境PCでないためエラー名は失念です・・・すみません)
どうかよろしくお願いします。

ちなみにこちらもhttp://natchan-develop.seesaa.net/article/13554435.html参考にさせていただいたのですがメッセージボックスが起動するとなぜか文字サイズが変わってしまうのでとりあえず却下しています。


Imports System.IO
Imports System.IO.Path
Imports System.Text
Imports System.Web.UI.HtmlControls '←要参照設定[System.Web]
Imports System.Diagnostics
Imports System.Xml



Partial Public Class _Default Inherits System.Web.UI.Page
'
'
    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
'
'

引用返信 編集キー/
■50337 / inTopicNo.5)  Re[3]: ASP.NETでメッセージボックスを使うには??
□投稿者/ 盥ラマ (2回)-(2010/06/03(Thu) 23:44:09)
作成環境を失念してました

XP SP3
VWD2008
を使用しています。
引用返信 編集キー/
■50361 / inTopicNo.6)  Re[3]: ASP.NETでメッセージボックスを使うには??
□投稿者/ いしだ (227回)-(2010/06/04(Fri) 11:18:54)
2010/06/04(Fri) 17:46:05 編集(投稿者)
> private void Page_Load(object sender, System.EventArgs e)
> {
>   // ページを初期化するユーザー コードをここに挿入します。
>   Button1.Attributes["onclick"]
>       = "return confirm('本当に移動しますか?');";
> 
> はどこに書いてあげたらいいのでしょうか?
>
この例のようにPage_Loadに書けば良いのではないでしょうか。


それよりもOnClientClickプロパティに設定出来ますよ。
以下のような感じでしょうか。

※ asp:CheckBox等のサーバーコントロールは、クライアントスクリプトで使用する
場合はIDが変換されるので、注意が必要です。

【チェックボックスがCheckBoxListの場合】
1. aspxのbodyタグ内(bodyのすぐ下あたりが良いか?)に以下スクリプトを配置
<script type="text/javascript">
<!-- 
  function chkCheckBoxList() {
    var listLen = document.getElementById("<%=CheckBoxList1.ClientID %>").rows.length;
    var chkCnt = 0;
    for (var i = 0; i < listLen; i++) {
      var chk = document.getElementById("<%=CheckBoxList1.ClientID %>").rows[i].cells[0].children[0].checked;
      if (chk) {
        chkCnt++;
      }
    }

    if (chkCnt == 0) {
      alert('1個もチェックしてないです。。。');
      return false;
    }
    else if (chkCnt > 1) {
      return confirm('2個以上ですがいいですか。。。');
    }

    return true;
  }
//-->
</script>

2. ButtonのOnClientClickプロパティに1.のスクリプトを設定
  return chkCheckBoxList();
  って感じ。

【チェックボックスがCheckBoxListで無い場合】
上記スクリプトを

  var chk = document.getElementById("<%=CheckBox1.ClientID %>").checked;
  var chk2 = document.getElementById("<%=CheckBox2.ClientID %>").checked;
  ......

を使用するように変更。

※ 以上、動作検証してないのでバグあるかも。。。

引用返信 編集キー/
■50401 / inTopicNo.7)  Re[4]: ASP.NETでメッセージボックスを使うには??
□投稿者/ 盥ラマ (3回)-(2010/06/06(Sun) 09:06:52)
丁寧なご回答いただきましてありがとうございます。
試してみたのですが動作はするのですが動かすとaspxのページの文字サイズとフォントが変わってしまいます・・・
全体的にMS UI Gothicの設定が明朝に変わっちゃうので・・・
原因を何か特定できないか調べましたがそんな症状は見つかりませんでした。。。
すみません。。。
引用返信 編集キー/
■50404 / inTopicNo.8)  Re[5]: ASP.NETでメッセージボックスを使うには??
□投稿者/ Jitta on the way (645回)-(2010/06/06(Sun) 11:04:48)
No50401 (盥ラマ さん) に返信

今更かもしれませんが、HTML や JavaScript について学ぶべきでしょう。
車を運転するとき、見よう見まねで、「ハンドルを回せばそちらへまがる。アクセルを踏めば進む。ブレーキを踏めば止まる」とわかるでしょう。それで運転ができるでしょうが、公道を走るときに求められる、「安全に走行する」ことができるわけではありません。
開発も同じです。見よう見まねで、アプリケーションらしきものを作ることはできます。でも、知識なしには、正しく動作するアプリケーションを作ることはできません。


ダイアログのフォントとは、そのPCで表示される全てのダイアログが明朝体ではありませんか?そこは Windows の画面設定の範囲だったと思います。
引用返信 編集キー/
■50520 / inTopicNo.9)  Re[6]: ASP.NETでメッセージボックスを使うには??
□投稿者/ 盥ラマ (2回)-(2010/06/09(Wed) 22:41:48)
ご回答ありがとうございます。

> ダイアログのフォントとは、そのPCで表示される全てのダイアログが明朝体ではありませんか?そこは Windows の画面設定の範囲だったと思います。
ここはゴシックでした。

原因は不明ですがどうやら私のパソコンだけおかしかったようです。
10台くらい別のPCでデバッグしても問題なくかつWEBアプリ公開しても変といった情報はありませんでした。

いろいろお手数をかけましたがなんとか出来ました
感謝しております

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -