【質問】ASP.NETスレ ..
[2ch|▼Menu]
119:nobodyさん
06/11/04 08:36:51
そういや、IE7出たけど皆大丈夫かい?

120:nobodyさん
06/11/04 08:47:04
>>118
M・V・C!M・V・C!

>>119
社内ではIE6で統一されてるから無問題〜
とはいえ情報は集めておかないとね。

121:nobodyさん
06/11/04 09:21:53
英語版と日本語版のページを作らないと行けません。
デザインが微妙に違うため両者の*.aspxは別々に作ることになります。
ただ入力項目は同じなのでフォーム送信したときの処理は同じです。
どうやって処理をまとめるのが良いかで悩んでます。
今、自分が考えているのは、
- Pageクラスを継承してCommonPageクラスを作る
- CommonPageを継承して、日本語版aspxと対になるJpPageクラスを作る
- CommonPageを継承して、英語版aspxと対になるEnPageクラスを作る
- CommonPageの送信ボタンクリックイベントで、FindControl("コントロール名");を使ってコントロールの値を取って、検証、DBに保存
という感じなんですが、もっと良いアプローチはありますか?

122:nobodyさん
06/11/04 10:52:29
本当に継承を使う必要があるのか良く考えた方が良いと思う
べつに検証する共通処理等はクラス化するぐらいでいいんじゃないかなぁ

123:nobodyさん
06/11/04 11:32:24
>>121
フォーム送信した時の処理に必要な値は、クラスにまとまる?

よくやるのが、フォームに型付DataTable/DataRow型のプロパティ作って、
そこから、TextBoxやDropDownListから値をまとめて取得する。

そのクラスを受け取って、処理を行う。

PetShopのソースを参考にした。

124:nobodyさん
06/11/04 19:53:32
基礎中の基礎で申し訳ないのですが、
あるコントロールのControls に配置された TextBox に値を入力し、
Buttonコントロールの Click イベントで
TextBox の値を取得するにはどうしたらよいのでしょうか。
(階層化された任意のコントロールを取得するには)

今までは、(以下例)
textBox = this.Table1.Rows[0].Cells[0].Control.FindControls("id");
のような形で取得していたのですが、this.Page.FindControl() などから
拾えないかと思い、UniqueIDを利用してみたのですが、
UniqueIDの発生が遅れている?ようで、コントロール生成時にUniqueID
を参照しても Null になっています。

アドバイス等ありましたら、どうかよろしくお願いします。
また、誘導や解説サイトなどありましたらお教えくださると助かります。

125:nobodyさん
06/11/05 01:49:58 EttKzQyd


Microsoft Web Developer と MDBを連動させてASP.netを体験する
事は出来ないでしょうか?

WindowsアプリとMDBは問題無くデータ接続をする事は出来るのですが
ASP.netとMDBはどうも出来ません。



126:nobodyさん
06/11/05 03:17:25
>>125
そんなばかな……
なにを、
どうやって、
どうできないんだ?

127:nobodyさん
06/11/05 08:45:25
>>125
URLリンク(msdn2.microsoft.com)(VS.80).aspx

128:nobodyさん
06/11/05 13:05:32
以下のようにPrepare使ってinsertしてるんですが・・・
 SqlCommand cmd = new SqlCommand("insert into hoge (name) values(@name)", con);
 cmd.Prepare();
 cmd.Parameters.Add(new SqlParameter("@name", myobj.getName()));
 cmd.ExecuteNonQuery();
このときmyobj.getName()がnullだと、ExecuteNonQuery()で例外発生します。

 if (myobj.getName() != null) {
  cmd.Parameters.Add(new SqlParameter("@name", myobj.getName()));
 } else {
  cmd.Parameters.Add(new SqlParameter("@name", DBNull.Value));
 }
このようにnullじゃなく、DBNull.Valueを渡すと良いのですが、
そこらじゅうで、こういう分岐書きたくない・・・
nullを渡してもうまくいくような、スマートな方法は用意されてないですかね。
普通に自前で関数化?

129:nobodyさん
06/11/05 18:29:07
myobj.getName()がnullの代わりにDBNull.Valueを返せばいいじゃない

130:nobodyさん
06/11/05 20:16:37
>>120
PageクラスってMVCでいうとコントローラとViewのどっちになるんでしょうか?
コントローラだとすると表示制御ロジックを書くのはいけない気がするんですが、Viewだとすればいまのままでいいような気も・・・。

131:nobodyさん
06/11/05 21:02:44
>>129
うーん、それがgetName()の戻り値はstring型なんだよぬ。

>>130
Pageクラスはコントローラ。対応する*.aspxがView。

132:nobodyさん
06/11/05 21:04:28
クエリビルダで作ったInsert文で、
日本語項目を含んだレコードをINSERTってできますか?

どうしてもValuesに
':項目名'

ってなってしまうのですが・・・
(データに「項目名」という文字列が挿入される)

無理矢理に
:"項目名"
とダブルコーテーションで囲っても、実行すると
バインドできませんでしたというエラーが出ます・・・。

DBはOracle10gです。
どなたか、解決法など教えていただけると助かります。
よろしくお願いします。
分かりにくい文章ですみません。

133:nobodyさん
06/11/05 21:20:34
>>131
レスありがとうございます。
なるほど。
その場合、表示項目の制御のロジック(ifで判定してEnabled=falseなど)はやはりコントローラに書くべきなのでしょうか?
それともそこもビジネスロジックとしてModelで処理するように切り出すべきでしょうか?

134:nobodyさん
06/11/05 21:28:40
>>133
Enableってプロパティに値を設定するのは、コントローラの役割ですね。
View側は、あくまでモデルの参照しかしない。
たとえば、ある値が配列に入っていて、その要素数分HTMLに表示するときのループ処理はaspxに書いちゃいますね。
それはView(見た目)の問題であって、コントローラの範疇じゃない、と自分はとらえます。
ASP.NETの場合は、Tableとかもコントロール化されてるから、
Pageクラスの中に実装できて、こういう機会は減りますけど、
PHPとかJSPでは表形式で出力するときは、View側にそのループを書いてます。
ただし、表形式で表示しやすいフォーマットにモデル化するのはコントローラの役割。

135:nobodyさん
06/11/05 23:29:16
WindowsXPSP2/Visual Web Developer2005でWebサービス作ってるんだけど、
メニュー→Webサイト→Webサイトのコピー→接続で
リモートサイト(実体はローカルホスト)で URLリンク(localhost) と入力すると
(foobarはWebサービスのプロジェクト名)
ユーザ名とパスワードを要求されるようになりました。
昨日まではユーザ名を要求されるなんて無かったんです。
本日、IE7を入れてからこんなことになってしまいました。
で、ログインユーザを入れてもでもダメ、ASPNET(パスワードわからん)でもダメ。

このユーザ名には何を入れればいいんでしょう?


136:nobodyさん
06/11/05 23:30:47
>>131
つ [オーバーライド]

137:nobodyさん
06/11/05 23:57:41
>>132
名前つきパラメータのこと??

138:135
06/11/06 09:06:59
OS再起動したら直りました。わけわからん。

139:nobodyさん
06/11/06 17:34:36
ASP,NETのValidatorって、クライアントで処理されるけど、
これってサーバーでは一切検証しないってことなのかな?
なんかのツール使って検証対象外のデータを送ってくるような
チート対策は大丈夫なんだろうかと不安です。

140:nobodyさん
06/11/06 21:49:39
外から入ってくるデータはすべて疑え!

141:nobodyさん
06/11/06 22:36:25
>139

Page.IsValidすべし

142:nobodyさん
06/11/06 23:59:02
なるほど。Page.Validate()呼び出せばサーバーで検証されるのね。
これは自動的に呼び出されるんだろうか。

143:nobodyさん
06/11/07 00:31:09
>>142
Page.Validate()メソッドではなく、
>>141の言うように、検証が必要な個所(ButtonのClickイベントハンドラー等)で、
最初にPage.IsValidをチェック


144: 
06/11/07 00:52:30 I6CNeWUi
>>126,127
とりあえず、Web Data Administrator をインストールし頑張って
います。もしご存知でしたら教えて頂きたいのですが
MSDEのインストール時に設定したパスワードを(プロンプトより
引数としてパスワードを設定しました。)

WDAのログイン画面に入力しているのですがログイン出来ません。

sa
password

・Windows Integrated
・SQL Login
→それぞれ選択し直してやってはいるのですがやはりダメです。何
が原因なのでしょうか?



145:nobodyさん
06/11/07 01:07:40
エラーメッセージは?

146:nobodyさん
06/11/07 01:09:45
>>134
レスありがとうございます。
大変参考になりました。

とりあえず、条件判定部分をModelに切り出してControllerではModelの値をViewに設定するだけになるように実装しようと思います。

147:nobodyさん
06/11/07 01:10:41
Validatorで思い出したけど、
JavaScriptの正規表現がECMAScript準拠なせいで、
RegularExpressionValidatorで、Unicodeクラスとか使えね……
ClientScriptOffにしろっていわれてもねー

JavaScriptもっとちゃんと仕事しろ!!


148:nobodyさん
06/11/07 10:54:48
処理時間が短いことがわかっている場合にはPageがロードされるときに
処理をすればよいと思うのですが、処理に時間がかかる場合に
しばらくお待ちください というようなメッセージを出しつつ
裏で動かすにはどうしたらよいでしょうか?

149:nobodyさん
06/11/07 12:27:05
>143

クリック系(Button_Click)はそれでいいけど、
変更系(Text_Changed)は、Page.Validate呼ばなきゃ。

150:nobodyさん
06/11/08 00:11:12
ASP.NET 1.1 で、DataGridのセルの色をJavaScriptで変更して、
その結果をサーバサイドで知ることってできます?

151:nobodyさん
06/11/08 00:28:55
>150
できるよ。


152:nobodyさん
06/11/08 22:57:13
自作コントロールをaspxにタグで配置するのって
ユーザーコントロール作成しか方法ない?
仮にMyUserControlというユーザーコントロールを作ったとして
配置したPageからは、
MyUserControl hoge = xxxx;
というように、クラス名定義して変数に代入できるけど、
他のPageでは、このクラス名が使えないです。
PreviousPage.FindControl()で取得するときに困ってます・・・


153:nobodyさん
06/11/09 00:24:53
つ【@ Register ディレクティブ】

154:nobodyさん
06/11/09 00:32:55
asp.net でstaticメソッドはどのコンテキストで動作しているのでしょうか?


155:nobodyさん
06/11/09 19:10:21
質問です。
環境は
XP PRO
VS2005
ASP.NET 2.0とC#
です。

質問:
同一サーバーの同一IIS内に一つのインストーラ(Aとする)
を使用して複数のディレクトリをインストールすることは
可能なのでしょうか?

やりたい事:
(A)を使用して
WEBサイト1,WEBサイト2,WEBサイト3…
という風にインストールしたいんですが…

問題:
WEBセットアッププロジェクトで作成したインスーラの
setup.exeを使用して複数のインストールを試みると
WEBサイト1をインストールしたあと、再度setup.exeを
起動するとWEBサイト1の修正か削除しか選べないという
状態です…

156:nobodyさん
06/11/10 22:25:01
あなたは一つのマシンにWordを2つ3つとインストールしますか?

157:nobodyさん
06/11/10 23:14:49
>155
156さんも書いてるけどXPなんでしょ。
Webサイトは1しか作れないよ。
複数のディレクトリって、複数の仮想ディレクトリだと不味いの?

158:nobodyさん
06/11/11 00:34:46 wiZRp3oN
質問です。
サーバ上にPDFファイルを作成し
クライアント端末にダウンロードをしているんですけど
ダウンロード画面に以下が表示されてしまうんです。
-----------------------------------------------------------
ファイルによってはコンピュータに問題を・・・(略)

ファイル名:hoge.aspx(実行したASP.NETのファイル名)
ファイルの種類:ASP.NET Server Page
発信元:localhost

ファイルを開くか、ファイルをコンピュータに保存するか選択してください。
[開く] [保存] [キャンセル] [詳細情報]
-----------------------------------------------------------
ダウンロード方法は以下です。
Response.Clear()
Response.Buffer = True
Response.ContentType = "application/pdf"
Response.AppendHeader("Content-Disposition","attachment; filename=hoge.pdf")
Response.WriteFile(サーバ上PDFファイル絶対パス)
Response.End()



159:nobodyさん
06/11/11 00:59:08
で?

160:nobodyさん
06/11/11 01:09:04 wiZRp3oN
ダウンロード方法が間違ってるんでしょうか?

161:154
06/11/11 10:18:53
>>155
その発想が出来ませんでした…
WEBサイトと言えども一つのアプリケーションですね。

>>156
仮想ディレクトリは分ける方法があるんでしょうか?
セットアッププロジェクトを使用して作成したsetup.exe実行時に
規定のWEBサイト以外の仮想ディレクトリを選択する方法を
MSDNやヘルプを探してみましたが分からずでした…
どこか参考になるようなURLってないでしょうか?
質問ばかりですみません…

162:nobodyさん
06/11/11 12:21:27
>161
WEBサイトの外に仮想ディレクトリは作れんだろ。

セットアップは使ったこと無いけど、
多分1つのインストーラで複数の仮想ディレクトリは作れないんじゃない?

オレは管理が楽なんでIISマネージャで手作業だよ。




163:nobodyさん
06/11/11 18:48:25
>>160
クライアントの問題だろそれ
AcrobatReader入れてないとかIEの設定間違ってるとか

164:154
06/11/12 15:45:11
>>162
やっぱりIISで管理するしかないですかね。
複数の人がカスタマイズして使うWEBアプリ(カスタマイズ情報は
Web.configに保存、)を作成したので同一インストーラで
同一サーバーへ仮想ディレクトリごとに振り分けられたら
便利だったんですが…
インストーラやWeb.configあたりに保存も含めて再度設計を
考えてみます。
レストンクス


165:154
06/11/12 17:28:59
自己解決しました。
インストーラを起動して"インストールアドレスの指定"で"規定のWEBサイト"を
選択し仮想ディレクトリ名を入れるテキストボックスに
"<仮想ディレクトリ名>\<サブフォルダ名>"と\入力でサブフォルダを
作成することで解決しました。
仮想ディレクトリを多数作るよりも仮想ディレクトリ→サブフォルダのほうが
管理しやすそうなので結果オーライということで。

忘れないようにメモ書きです。
…レスを下さった方が言ってたのはきっとこの事だっんだろうなorz

166:nobodyさん
06/11/12 19:29:51
どうでもいいがレス番ずれてないか・・・?>154氏

167:nobodyさん
06/11/13 20:37:00 b+jkwWBz
ASP.NET上からWindowsユーザーを生成/削除する方法が分かりません。
誰かヒントなど教えて頂けないでしょうか…

環境:
Windows Server 2003 R2
.NET Framework 2.0
VS2005 Pro

よろしくお願いしますorz

168:nobodyさん
06/11/13 21:02:09
そんなセキュリティホールになりそうな機能が搭載されてるとは思えないな

169:nobodyさん
06/11/13 22:03:37
認証してAdminならできるんじゃね

170:nobodyさん
06/11/13 22:14:21
>>167
つ「リモート・デスクトップWeb接続」


171:167
06/11/14 17:57:16 cOPSlr8z
>>168
ですよね(´・ω:;.:...

>>170
試してみました。おもすれーwwww

ご返答、ありがとうございましたorz

172:nobodyさん
06/11/14 23:00:14
ASP.NET(vb.net)でxmlファイルを検索し(スペースで複数キーワード検索)、
ヒットした行のみを表示するシステムを作成したいのですが、
サンプルプログラム、またはサンプルページがわかる方
教えていただけないでしょうか?

173:nobodyさん
06/11/14 23:14:22
一行ずつ読み込んで正規表現でマッチするかどうか調べりゃよかろ
StreamReaderとかRegexとかのキーワードでググればいっぱいでてくるよ

.NETにこだわらないならAjaxで絞り込みもアリ

174:nobodyさん
06/11/15 00:33:41
Ajaxって何ですか禁止

175:nobodyさん
06/11/15 09:53:40 TRdTmCkl
aspx ファイル内からWEBサイトフォルダを取得するには
  Context.Request.PhysicalApplicationPath
で可能ですが、App_Code 内の共通クラス内で同様の値を得るには
どうすればいいですか。引数やプロパティで渡す方法はしたくないのですが。

バージョン:VS2005

176:nobodyさん
06/11/16 01:39:08
>>167
一応・・、できた例。
[DllImport("kernel32.DLL")]
public static extern int WinExec(
string lpCmdLine,
int uCmdShow
);
int ret = WinExec("net user username /add", 0);

もっといい方法が思いついたら、そっちのほうがいいれす。


177:nobodyさん
06/11/16 15:05:06
イメージボタンで以下の2つの要望があります。

(1)マウスが上に重なったときに表示(画像)を変更したい
(2)コンポーネントのローカライズをリソースでしたい

1だけであれば、Attribute[onmouseover]="javascript:..."とすることで動作するのですが
そうすると、<% Resource:imagebutton %>が使えないので2番がうまくいきません。

1と2を両立させる方法はないのでしょうか?
そもそも、マウスオーバーイベントがデフォルトでImageButtonなどに無いのが
いけてない気もするんですが・・・

.netのバージョンは2.0です。
3.0でこれが簡単になるなら3.0でも良いと思っています。

>>176
URLリンク(support.microsoft.com)
にある偽装化の有効でいけそうな気もするんですがどうでしょうか?

178:nobodyさん
06/11/16 22:16:50
asp .net 2.0のフォーム認証でASP .net webサイト管理ツールを使用して
ユーザのアカウント情報をApp_Dataフォルダ内のASPNETDB.MDFに作成して
ASP .net開発サーバー内でテストをしていました。

上記のサイトをIISの仮想ディレクトリに作成したところ、
App_Dataフォルダ内のASPNETDB.MDFにアクセスする際
「ユーザーの既定データベースを開けません。 ログインに失敗しました。」
というエラーが発生します。

IISでの設定をどのようにしたらいいのかわかりません。
だれか助けて


179:nobodyさん
06/11/17 22:45:17
GridView/SqlDataSourceで引っ張ってきた内容を表示させるとき
性別を表示させたいのですが、1なら男、2なら女、nullなら−と表示させたい
vwd2005を使ってコードレスで実現する方法はありますか
編集時のDropDown表示はTemplateにして出来たんですが、Label出力の
条件表示が分かりません そもそもLabelって時点で間違ってるのでしょうか

180:nobodyさん
06/11/17 22:58:16
コードレスは無理かな。
適当にクラス作ってstaticなメソッドを作ると良い。
そんで、
<%# Gender.ToString( Eval("gender") ) %>
とかやる。


181:nobodyさん
06/11/17 23:56:07
>180
ありがとうございます
やはりコードレスは無理でしたか
メソッド作ってみます

182:nobodyさん
06/11/18 15:01:45
イベントの発行順序について教えてください。

親コントロールにRepeterとボタンがひとつずつあり、
RepeterのItemTemplateに子コントロールが設置されています。
子コントロールはプロパティをひとつ公開しています。

この際に、親コントロールのPage_LoadでRepeterにDataBindした場合と、
ボタンイベントでRepeterにDataBindした場合で子コントロールのイベントの発生順序がかわります。

Page_LoadでDataBindは、
set Profile → Init → DataBinding → Page_Load

Button Eventでは、
set Profile → Init → Page_Load → DataBinding

となります。

親のDataBindするイベントによって子のイベント順序が変わるなんて恐ろしいので、発生するメカニズムを完全に理解しておきたいのです。



183:nobodyさん
06/11/19 23:10:39 O+CSBvRd
変数の持ち回りについて質問させてください
GridViewを表示・修正させる条件に、Formで受け取ったidを使用して
処理させようと思います
htmlページを作り、idを入力させてGridViewに一覧を表示させるまでは
良かったのですが、編集ボタンを押すとデータが取得できなくなります
Formのパラメータが消えたからだと思ったので、下記のタグをFormタグの
中に記述してみましたがダメでした
<input type=hidden name=userid value=userid>
ASP.NETでのパラメータの持ち回り方法はどうすれば良いでしょうか
方法は選ばず、結果的にログインしたIDを持ちまわり、常にDB検索の
条件に使いたいのです


184:nobodyさん
06/11/19 23:11:45
申し訳ない
こんな質問でageてしまったorz

185:nobodyさん
06/11/19 23:55:07
183です
formパラメータをやめてsessionに保存してやってみました
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Session("userid") = Request.Form("guserid")
End Sub
この記述でページ読み込み時のセッションにセットしました

これでGridViewの一覧表示は出来ましたが、編集ボタンを押すと
データがありません となってしまいます
何を調べれば良いかが分からなくなってしまいまいしたon

186:nobodyさん
06/11/20 00:18:58
何度もすみません
Page_Loadで毎回formを設定してるのは問題なんで、nullのときだけ
設定するようにしました
そしたら変更ボタンを押した跡に変更画面に切り替わるようには
なりましたが、エラーが発生しないものの、実際に更新処理が
行われません 

187:nobodyさん
06/11/20 00:54:58
>>183
落ち着いてもう一度じっくりと質問を読み直してください。
その質問では正しい回答は得られません。

エスパー回答をするなら、GridViewのViewStateがFalseであるか、
PostBack時にもDataBindしているかどちらかでしょうね。

188:nobodyさん
06/11/24 12:19:01
IE7だとカーソルがアドレスバーにあると、ページを開いた直後のSetFocusがきかないのですが
(第一入力項目にカーソルを移動したい)
どなたかSetFocusを有効にする方法をご存知の方いませんか?

例えばIE6でGoogleに接続するとカーソルが検索ボックスにフォーカスしますが、
IE7だとアドレスバーにフォーカスしたままです。

189:nobodyさん
06/11/24 12:52:39
VS2003でaspx開いて、デザインビューとHTMLビューを交互に見ていると、
たまにぐちゃぐちゃな整形されるんですが、バグ?仕様?
きちんとインデントしてもぶっ壊されたりして悲しい。

190:nobodyさん
06/11/24 13:47:18 M5uod+j7
IEでファイルのダウンロードがキャンセルされたかどうかをASP.NET側で知る方法は
ありますか。

たとえば、下のサンプルを実行すると
「ファイルのダウンロード
このファイルを開くか、または保存しますか?
名前:shohin.csv
種類:CSVファイル、3.46 KB
発信元:localhost
OK  保存  キャンセル」
というダイアログが表示されますが、ここでキャンセルが押されたかどうかを知りたいです。


  Protected Sub Button3_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button3.Click
    Response.AddHeader("Content-Disposition", "attachment;filename=shohin.csv")
    Response.ContentType = "application/octet-stream"

    Dim encoding As System.Text.Encoding = System.Text.Encoding.GetEncoding("Shift-JIS")

    Dim s As String = ""
    s &= "12345,あああああ,32323,39002,23032" & vbCrLf
    s &= "12346,あああああ,32323,39002,23032" & vbCrLf
    s &= "12347,あああああ,32323,39002,23032" & vbCrLf
    s &= "12348,あああああ,32323,39002,23032" & vbCrLf
    s &= "12349,あああああ,32323,39002,23032" & vbCrLf
    Response.BinaryWrite(encoding.GetBytes(s))
    Response.End()
  End Sub


191:nobodyさん
06/11/24 15:22:07
>>190
ない。

192:190
06/11/24 15:38:38
>>191
やっぱそうだろうと思いました。
明快な回答ありがとうございます。

193:nobodyさん
06/11/24 17:45:50
>>189
VS2003の仕様らしい。(記事を斜め読みしただけだが)

ちなみにVS2005だとaspxファイルの改行が変わる事はなくなった。
ただVS2005はWebサービスの更新が不安定になったりするけどw

194:nobodyさん
06/11/27 18:11:18 w5dXAoeO
Microsoft.Jet.OLEDB.4.0でCSV読み込んだんですが、
各項目のデータの先頭に"(ダブルクォーテーション)や-(ハイフン)がある場合に、そのデータだけ空になってしまいます。
これらのデータを読み込むにはどうしたらよいのでしょう?

195:nobodyさん
06/11/27 19:46:19
こった画面を作っています。
GRIDVIEWにユーザーコントロールを埋め込んでいます。
ユーザーコントロールのパブリックプロパティに対して、パイントさせる方式を取っています。
これで表示はできるものの、更新ができません。
更新クエリのパラメータの指定の仕方がわからず四苦八苦しております。

わかる方いましたらご教授下さい。

196:nobodyさん
06/11/27 19:47:19
凝った画面を作っています。
そのため、GRIDVIEWにユーザーコントロールを埋め込んでいます。
ユーザーコントロールのパブリックプロパティに対して、バインドさせる方式を取っています。
これで表示はできるものの、更新ができません。
更新クエリのパラメータの指定の仕方がわからず四苦八苦しております。

わかる方いましたらご教授下さい。

197:nobodyさん
06/11/27 22:57:54
みなさん、画面遷移制御ってどうしてますか??

ユーザが正しい画面フローで遷移して来ず、
IEの「お気に入り」やURLの直打ちでやってくる場合、
更新確認画面などはSessionのnullチェックをしないと
NullPointerExceptionで落ちてしまいます。

私が思いつくのは下記なのですが、何かいい案や、「俺はこうしてる」など
あれば教えてください。

1.Sessionのnullチェックを毎回行い、nullであれば
「不正な画面遷移ですException」を投げ、Global.asaxでcatchして
不正な画面遷移ですエラー画面へ飛ばす。

2.落ちたらシステムエラー、システム障害とする。

3.基底クラスなど使ってガッチガチな画面遷移制御ロジックを作りこむ。

何か楽な方法ないっすか。

198:nobodyさん
06/11/28 00:19:01
asp .net 2.0で開発してるのですが
折れ線グラフを表示させたいと思っています。
フリーで何かお勧めのグラフコンポーネントなどあったら
教えてもらえないでしょうか?

199:nobodyさん
06/11/28 01:20:51
>>194->>198
URLリンク(www.microsoft.com)

200:nobodyさん
06/11/28 08:41:32 xnWt8jPw
>>199
ありがとう
このキャンペーンのおかげで、彼女はできるし、宝くじは当たるし、もうウハウハの生活を営んでいるよ
さぁ、キミも、迷う前にレッツTRY!だ!!

201:nobodyさん
06/11/29 10:27:46 e1vmRIhB
質問です。
VS2005でwebアプリ作成してます
環境:XP、VS2005、ASP.NET(C#)、ローカル(開発サーバー)で実行(デバッグ)

デバッグ中にブレークポイントで停止させ
プログラムを変更したところ
ソースが変更されたのでこのまま続けれません
というようなメッセージがでたので
一旦停止し、再開させたところ
デバッグできない状態になりました
※デバッグできない状態とは
ブレークポイントで止まらず
ブレークポイントの●に?がついて
現在の設定ではヒットしません。ドキュメントのシンボルが読み込まれていません
とチップが表示されます。

いろいろネットで検索すると
プロジェクトのデバッガ設定でASP.NETの項目にチェックをつける
と書いてあるのですが、チェックはついています。

他の設定など確認するところ、参考になるページなどありましたら
教えて下さい。お願いします。

202:nobodyさん
06/11/29 11:33:44
>>201
俺は同じ事をしてもそういう状況になったことはないけど
undo機能を使ってそのバグが出る前の状態に戻してから
同じ変更をしてみるのが良さげ。
もしundo機能が使えない状態ならVS2005を再起動するとか。

まだ2005は細かいバグが出たりするから、変わった事は
しない方がいいような…
Webサービスの更新やWebサイトのコピーなんかでたまに原因不明の
エラーが出たりはよく目にするなぁ。
ちなみにWebサービスの更新が出来ないのは、Webサービスの参照を削除してから
新たにWebサービス参照の追加をすれば回避できた。
Webサイトのコピーは未だ解決策が見つからず…
現状で実害0なんで放置してるが

203:nobodyさん
06/11/29 13:22:47 e1vmRIhB
>>202
レスありがとうです
undoも再起動も本体再起動も
設定を変更(デバッグOFF)→再起動→デバッグON→再起動
でもだめでした

あぁプロジェクト作り直すしかないのかなぁ

204:nobodyさん
06/11/29 13:41:38
ユーザープロファイルのフォルダにプロジェクトの
キャッシュがあるからそれを削除。

205:nobodyさん
06/11/29 14:10:10 e1vmRIhB
>>204
おおおおおおおお
キャッシュフォルダにある同じプロジェクト名のファイルけして
実行したらデバッグできたぁぁぁぁぁ

ありがとう
ありがとう
ありがとう

これでスッキリとデバッグできます

206:nobodyさん
06/11/30 19:47:51
asp.net 2.0
言語はC#で開発してます。

画面のボタンを押すと
DBから取得したデータをtreeviewコントロールに表示する画面を作りました。

しかしながらボタンを押すたびにtreeviewのノードがモコモコ下に増えていってしまいます。
postback時にはデータを取得処理をしないようにしているつもりなのですが
何が原因かわかりません。

お助けください

207:nobodyさん
06/11/30 20:23:01 +gWQpBqx
>>206
っブレイクポイント

208:nobodyさん
06/12/02 07:48:48
ネットワークドライブにアクセスするにはどうしたらいいんですか?
書き込みは必要なく、フォルダ情報(使用量とか、最終更新日とか)が取得できたら
それでいいんですけど。例えば以下のようにすると、失敗します。
URLリンク(support.microsoft.com)
というようなページも見たんですが、あんまりなぁ。。ほかに方法はありませんか?

Dim fso

Set fso = Server.CreateObject("Scripting.FileSystemObject")

absPath = filesys.GetAbsolutePathName("Z:\blahblah")
Set tmpFolder = filesys.GetFolder( absPath )
tmpDate = tmpFolder.DateLastModified
Set tmpDrive = filesys.GetDrive( absPath )


209:nobodyさん
06/12/02 12:12:15
>>195
・その列にEditItemTemplateはある?
・対象のパラメータはBind("hogehoge")でちゃんと設定してる?

>>197
自分はこの前、sitemapとGlobal.asaxを併用してやったな。
sitemapの中に追加で属性(認証の要・不要、セッション値の要・不要とか)を定義して、
それをGlobal.asaxの中からチェックして振り分けするの。
#小規模のショッピングサイト作成したときの話。

210:nobodyさん
06/12/02 12:20:00
>>208
っ System.IO.Directory

後は適当に権限設定してやれば良いんじゃね?

211:nobodyさん
06/12/02 12:54:18
IE7のズーム機能でレイアウトが崩れるのをどうにかしたいんですが、
ASP.NETでレイアウトマネージャみたいなWeb UI部品はないでしょうか。
今はCSSとTableでレイアウト微調整しています…。
.Net Framework3.0は全然調べてないんですが、その辺りに該当機能があったりするのかな…。

212:206
06/12/02 20:35:17
>>207
treeviewのノードの初期化処理としての
Nodes.Clear()
メソッドが抜けていたので増え続けていただけでした。

213:208
06/12/05 08:52:13
>>210
レスありがと。

書き忘れてスマソなのだが、動作環境は VBScript の ASP なのだ。。
で、問題の本質は、
NAS を、Network Drive としてマップしてあると、
FileSystemObject は、Drive Letter から名前解決できないというか、
実際のマシン名/共有名を取得することができない。

例えば
\\SERVER\Share が Z: に割り当てられているとすると、
fso.GetDrive( "\\SERVER\Share" )  はできるけど、
fso.GetDrive( "Z:" )  はダメってこと。。

これって、ASP.NET の System.IO.Directory ならうまく行くの?

214:nobodyさん
06/12/05 21:46:00
ASPはスレ違い・・・

215:nobodyさん
06/12/06 01:49:40
visual studio 2005 でC#でasp .net の開発をやってます。
xmlコメントをドキュメントに出力するツールでフリーで何かいいものはありませんか?

216:210
06/12/06 01:52:25
>>213
出来るよ。MSDNでIO名前空間の説明読んでみ。

空き容量知りたいなら、DriveInfo使えば良いし
そのディレクトリの使用容量知りたいなら、
てけとーに再帰でファイルサイズ取得するロジック書けばおk

217:nobodyさん
06/12/07 11:28:56 w+Z1ltqn
マジレスたのむ!!
Dim A,B,C,D,GOU
A = Request.Form ("a")
B = Request.Form ("b")
C = Request.Form ("c")
D = Request.Form ("d")
GOU = A + B + C + D
って定義しても加算されないんだけど… 
例えば3+3=33とかになるorz
でも3*3=9にちゃんとなるんだよな・・・


218:nobodyさん
06/12/07 12:43:03
>>217
VBはやったことがないからよくわからんけど
Request.Formで取得した値はstring型だからint型にキャストしてやる必要が
あるんじゃないか?
string型だから
gou=A+B
をしたときに"3"+"3"になって"33"になるんだろう。


219:nobodyさん
06/12/07 12:57:08
>>215
NDocはいかがですか?
日本語版なら
URLリンク(sourceforge.jp)

NDocでぐぐれば使い方を紹介しているページがいくつか見つかると思います。

220:nobodyさん
06/12/07 14:00:48 w+Z1ltqn
>>218さん Int型にしてもいかないorz なぜだ!!

221:nobodyさん
06/12/07 14:22:45
>>220
string a = Request.Form["A"];
string b = Request.Form["B"];

//キャスト
int a_int = int.Parse(a);
int b_int =int.Parse(b);
int goukei = a_int + b_int;
でC#では動くんだけどこれをVBに直せない俺w
どこかにフリーソフトでC#ソース→VBソースに変換するソフトがあったから
それで変換して>>220の書いたソースと見比べてみては?
もしくはブレークポイントを入れて値をチェックしてみるのがいいかも

222:nobodyさん
06/12/07 15:21:37 w+Z1ltqn
>>221さん  ありがとう!!今日はもう出来ないので、明日221さんの
プログラムを試して見ます!結果は明日書き込みます!!
また明日もヒマなら相手してください!!

223:nobodyさん
06/12/08 09:57:54 ewFyIfPg
URLリンク(www.matubusi.com)
ここの買取口数とメールフォームの口数を買い取り口数にマイナスする計算の連動
似たようなスクリプトありませんか?もしくは作れますか?
よろしくお願いいたします

224:nobodyさん
06/12/08 11:11:30 wLihgars
>>221さん 早速やってみたんだが、いかなかったよ orz

225:nobodyさん
06/12/08 12:27:06
>>224
Dim A,B,C,D,GOU As Integer
とかちゃんと宣言すれば動くんでね?

226:nobodyさん
06/12/08 12:47:46
>>224
数値に変換する前に数値として使える文字なのか判断する必要があり
C#だけど
/// <summary>
/// 数値文字列をint型に変換
/// </summary>
/// <param name="targetString">文字</param>
/// <returns>変換後の値</returns>
private int ChangeInt(string targetString)
{
int num = 0;
if (int.TryParse(targetString, out num))
{
num = int.Parse(targetString);
}
return num;
}
しょっぱなのint num = 0; の0代入は必要ないので適当にやって

227:225
06/12/08 13:12:56
>>226
TryParse()とか.NET2.0だよね
>>217の環境は.NET1.1ぐらいな悪寒

228:nobodyさん
06/12/08 18:48:35 3pSv+YG3
>>227 217だけどパソの環境はかなり悪いorz 土日はASPできないんで、また月曜くらいにレスします。初心者なんで、また教えてください。

229:nobodyさん
06/12/08 18:49:27 3pSv+YG3
>>226さんもまた教えてください!

230:nobodyさん
06/12/08 21:49:02
CInt関数じゃダメなん?

231:nobodyさん
06/12/08 21:54:32
あとチェックはIsNumeric関数

232:nobodyさん
06/12/09 08:48:45
>>228
聞くときは自身の開発環境くらい書けよ。

233:nobodyさん
06/12/09 11:26:15
そうだね.net framewrokのばーじょんとかも関係あるからね

234:nobodyさん
06/12/09 11:36:07
>>217
C#のソースをかいたものだけど、新規プロジェクトで試してみてもダメだった?
何故に動かないのかすごく気になる…
不都合の無い範囲で該当ソースをコピペしてもらいたい。

そういやtryParse関数が出来たんだったな。
数字の判定をregexクラスで判定しなくて良くなったのはありがたいなぁ
時間を見つけて過去に開発したプログラムのver UPでもするかな('A`)

235:nobodyさん
06/12/09 14:11:31
お助けください。
RegularExpressionValidatorを使用て、テキストボックスに0以上の正の整数が入っているかチェックする場合、
ValidationExpressionは
「^\d+$」
でいいのでしょうか?
なぜか0を入力しても検証に通ってしまいます


236:nobodyさん
06/12/09 16:41:20
>>235
> なぜか0を入力しても検証に通ってしまいます
「^[1-9]\d*$」じゃないの?

237:nobodyさん
06/12/12 12:12:14 n7I01zoe
初心者な質問ですみません、Button1を押して、~/Default.aspxに飛びたいのですが、どのようなコードを書けばいいでしょうか。

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

End Sub

238:nobodyさん
06/12/12 12:27:13
すいません。 自己解決しました。
Server.Transfer()でした

239:nobodyさん
06/12/12 12:33:02
>>238
Response.Redirectてのもある。動作が違うから自分で確かめてね

240:nobodyさん
06/12/12 17:55:07 aAB5mfBA
ASP.NET2.0の式構文で
Url="<%$ AppSettings: baseDir%>/<%# Eval(&qout;NAME&qout;) %>"
↑のようなことをやりたいのですが
AppSettingのキー名として
baseDir%>/<%# Eval(&qout;NAME&qout;)
までが認識されてしまいます。
なにかよい方法はないでしょうか


241:nobodyさん
06/12/13 15:56:47
ASP.NET2.0+C#で開発しています。サーバサイドからtitleタグの内容を見たい場合、
this.titleなどとして参照しているのですが、
framesetを利用してページを入れ子構成にしてる場合、入れ子側から
framesetタグを記述している親側のtitleを参照することは出来るのでしょうか?

242:nobodyさん
06/12/14 07:24:15
runat="server"しているASPボタンのOnClickイベントでサーバ側のメソッドを呼び出したとして、
そのメソッドが終わるタイミングでクライアント側のJavaScriptかVBScriptのメソッドを呼び出したいのですが、
何か良い方法は無いでしょうか?
クライアント側メソッド実行時には、サーバ側メソッドの処理が終了してその結果が利用できることが
前提になって欲しいというか
ClientOnClickはOnClickより先に実行されてしまうし…

243:nobodyさん
06/12/14 14:56:56
>>242
Ajax

244:nobodyさん
06/12/14 20:47:57
まずサーバ側からクライアントを操作するって発想がどうかと


245:nobodyさん
06/12/16 20:11:06
ウェブサービスで実現すべき機能だな。
本当にその機能が必要なのかもう一度考え直した方が良いと思う。

246:nobodyさん
06/12/17 16:41:24
質問です。
スマートクライアント(ASP.NetWebサービスを利用)を実現するのに、
VisualStudio2005とVisualStudio2003では開発効率に大きな差が出るのでしょうか?
やはり、2005の方がスマートクライアントを実装し易いのでしょうか?

どなたか御存知のかたいらっしゃいましたら、教えて頂きたいです。
お願いします。

247:nobodyさん
06/12/17 17:33:23
大きな差が出るかどうか知らんが、2005のExpressを試してみりゃいいじゃん。
2003は1.1ベース、2005は2.0ベース。

248:nobodyさん
06/12/18 00:27:21
>>242
単純にクライアントでページが開いたときにJavaScriptが実行されれば良いのなら、
<body id="body">とかにしといて、コードの方で、
body.Attributes["onload"] = "実行したいJavaScript"
で良いんじゃないか。

249:nobodyさん
06/12/18 12:03:54
ASP.NET2.0+VWDで簡単なサンプルを作って勉強中です。

URLリンク(www.microsoft.com)
でGridViewの上1レコードを選択し、DetailsViewでデータの新規作成はできました。

その際、選択したデータを予め表示し、変更する箇所のみ入力したいと思うのですが
どうしたらいいでしょうか?

またはこのようなやり方が適切ではない場合、ほかの方法があれば教えてください。
・GridViewにButtonField(「複写して追加」等)を追加し、別ページに遷移するとか?

250:nobodyさん
06/12/19 00:54:42 yAa4rxvU
質問です。
Access のデータベースファイル hogehoge.mdb へのアクセスには
サーバーの絶対パスを埋め込まねばならないのでしょうか?

URLリンク(support.microsoft.com)

Dim connectString As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\File Databases\NWIND.MDB"
'Create an OleDbConnection object,
'and then pass in the ConnectionString to the constructor.
Dim cn As OleDbConnection = New OleDbConnection(connectString)
'Open the connection.
cn.Open()

251:nobodyさん
06/12/19 12:11:11
以下のようなことをやりたいのですが
どのようにしたらよいでしょうか?

1)HTMLエディタなどでテーブルを作成し、ASPXファイルを作る。(雛形)
2)テーブルにIDをふる(Table1)
3)コードでそのテーブルをまるごと複製(Table2)、一部の内容を書き換えて表示

Table1の中の特定のコントロールだけ書き換えたものをTable2として
表示させたいのですが可能でしょうか?

Tableのnewなどを使わずに、このようなことをやりたい理由は
デザインと実装を分離したいからです。
というかコードでRowやCellをいちいち書きたくないので・・・


252:nobodyさん
06/12/19 12:39:16
>250

URLリンク(www.atmarkit.co.jp)

connectionString="Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=|DataDirectory|\MyDB.mdb;
Persist Security Info=True;Jet OLEDB:Database Password=12345"

253:nobodyさん
06/12/19 12:43:02
>249

???



254:nobodyさん
06/12/19 12:46:29 aIXcYPpo
レンタル鯖をかりている。
デバッグをするためにTrace.axdを見たい。
web.configを書いた。

<trace enabled="true" localOnly="false" />

見れるようになった。
が、俺が見ているときは、だれでも見れる。

俺のIPだけ見れるようにするか、
認証をかけるようにはできないのか?
教えてえらい人。

255:249
06/12/19 17:58:04
>>253

説明が下手ですみません。
要はデータを「新規作成」する際に、過去のデータを基にしたいということです。
(主キー項目は除く)

256:nobodyさん
06/12/21 08:28:17 0UBiQlMr
>>254
GUID で生成したファイル名でデバッグし、
本番では、正規版ファイル名にコピペする。

「俺のIPだけ見れるようにする」はできないが、
第三者が推測することが不可能なファイル名とすることはできるため、
実質的な認証にはなる。


257:nobodyさん
06/12/21 09:51:53
ログってどこに出力してます?
App_Dataの中に吐くのは変かな・・・
でもウェブアプリのディレクトリのどこかに吐きたい。

258:nobodyさん
06/12/21 11:19:35
>256

ありがと。そういうやりかたになるか。
参考になたよ。

>257

Webアプリより上のディレクトリが基本じゃね。
App_Dataに入れるとASP.NETの管理下になるから良くないと思う。

259:257
06/12/21 11:32:01
そうね、そう思って、カキコしたあとすぐにそうした。
リポジトリでフォルダ構成かえるのめんどかったけど。

260:nobodyさん
06/12/22 12:38:35
今まで日本語版OSで運用していたASP.NETシステムを
英語版OSで動かしたら何か不具合や問題が出ることってありますか?

261:nobodyさん
06/12/23 00:21:10 naJjp2Gk
Visual Studio.NET + ASP を使いこなす上で、良い参考書って何か無いですか?

いや・・・今まで Webアプリは Regacy ASP ばっかりだったもので・・・(汗)
ちょっと違うか、Perl CGI はちょっと触ってみたことがありますけど・・・・(汗)
Visual Studio.NET は、C++のデバッグにしか使ったことがないもので・・・(汗)

何かお勧めがあれば、書名と出版社名を宜しくお願いします。

262:nobodyさん
06/12/23 12:06:59
プロフェッショナルASP.NET 上下(たしか日経)
ASP.NET実践テクニック(通称黒本 会社わすれた)

263:nobodyさん
06/12/23 16:37:22
黒本は1.0なのが残念だが8割くらいは使える内容。
プログラムはわかってる、あとはこういうとき、どうすりゃいいのってのを
さくっと知りたいのにオススメな一冊。

264:nobodyさん
06/12/23 22:04:21
>>261
ASPを使ったことがあるのかないのかハッキリしる
嘘や見栄が入っていると適切なアドバイスもできん

265:nobodyさん
06/12/23 23:06:33 lzj6TMJU
261です。
ASPはもちろん使ったことがあります

ADODB.Connectionとか使って、Accessを呼び出して
DBの表示と入力をおこなっていたんですが、
なにせデバッグが大変なんです。
社内鯖の規約で勝手にIISの設定とか弄れないのです。

ASP.NETに移行すれば、デバッグが少しは楽にならんかなと
いうのが移行の趣旨です。

ついでに、処理速度が速くなって、
グラフ描画機能も付けられればなお良しです。
いまは、VMLを使ったグラフ描画の試作品は出来たんですが、
ブラウザがIEに限定してしまうのが痛い。

266:nobodyさん
06/12/23 23:08:43 lzj6TMJU
261です。
今までは、テキストエディタと
Response.Write()でデバッグしていました。

よくまあこんな不自由jなデバッグをしていたもんだと我ながら
おもいます。



267:nobodyさん
06/12/23 23:25:43
>社内鯖の規約で勝手にIISの設定とか弄れないのです。
じゃあIISのバージョンアップとか.NETframeworkのインストールはできるんだな?
なんとなく新卒臭い香りがする。


268:nobodyさん
06/12/24 09:35:14 H4b/fkFw
261 です。

>>267
そもそも社内鯖のAdministrator は自分じゃないし。
自分は、その社内鯖で script や html を書かせていただいている
一社員に過ぎません。

>IISのバージョンアップとか.NETframeworkのインストールはできるんだな?

 「バージョンアップやインストールができる」の意味が
 自分の技術スキル的に出来るという意味ならば、出来ます。

 「社内鯖の IIS のバージョンアップや
 .Net Framework のインストール権限があるか」という意味ならば
 出来ないです。

269:nobodyさん
06/12/24 10:51:19
権限もらってからまた来な、坊や

270:nobodyさん
06/12/24 12:44:57
> よくまあこんな不自由jなデバッグをしていたもんだと我ながら
なんで過去形なの?

271:nobodyさん
06/12/24 17:56:42
.NETに移行する理由が「デバッグがやりやすくなる」?
今年一番笑ったwww

272:nobodyさん
06/12/24 23:44:29
>>268
基本的に開発中は鯖なんか関係ないだろ?
デバッグはローカル環境で良いんだぞ。

273:261
06/12/25 21:52:25 B5SaXYT9
( ゚д゚)ハッ

そ、そうでした。
ODBCをたたいていたんで、その鯖でしか動かないと思い込んでました。
ローカル環境で、同じDBをODBC設定すればいいのだ。


274:nobodyさん
06/12/27 00:19:25 01eBQfCf
asp.net ajax って、まだリリキャンなんだね。
今年中に出るって言ってたのにやっぱ無理だったのかな。

275:nobodyさん
06/12/27 10:12:30
いやまだあと4日ある!(´・ω・`)

276:nobodyさん
06/12/27 15:45:50
>>175
遅レスすぎて見てないだろうが
あまりも華麗にスルーされてたので。

つHttpContext.Current.Request.PhysicalApplicationPath;


277:nobodyさん
07/01/07 04:52:35 2KrFYbrf
GridViewコントロールの実装をみることってできないだろうか

278:nobodyさん
07/01/07 17:41:26
URLリンク(www.microsoft.com)
↑の
String css =
this.Page.GetWebResourceUrl (typeof(NumericTextBox),
"Obies.Web.UI.WebControls.NumericTextBox_"
+this.ImageSet+".css");
this.Page.Header.LinkedStyleSheets.Add (css);

ASP.NET2.0に
Page.HeaderにLinkedStyleSheetsなんてプロパティがないのですが
これの代替手段ってありますか?


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4227日前に更新/321 KB
担当:undef