【質問】ASP.NETスレ ..
[2ch|▼Menu]
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なんてプロパティがないのですが
これの代替手段ってありますか?

279:nobodyさん
07/01/07 18:02:47
>>278
すみません。自己解決しました。


280:nobodyさん
07/01/07 19:32:15
TextBoxをjavascriptでdisabled=trueにして送信。
サーバーでEnabledプロパティ見るとtrueのまま。
これは仕様でつか?

281:nobodyさん
07/01/08 13:49:43
>>277
.net reflectorなどを使ってみては。

>>280
仕様です。

282:nobodyさん
07/01/08 19:07:46
>>281
おお!こんなものが!
ありがとうございます!!

283:nobodyさん
07/01/08 19:45:55
現在モバイル向けのユーザー登録フォームを作成している所なのですが
ezweb以外のキャリアでの閲覧が出来ず、困っております。
一部の機能が使えない等ではなく、ページ自体が開きません。
何が原因なのか、ピンと来る片いらっしゃいませんでしょうか?

284:nobodyさん
07/01/08 19:56:02
>>283
htmlタグ出力の前に余分なものが吐かれてませんか?

285:nobodyさん
07/01/08 20:20:41
>>284
ご返答ありがとうございます。
余分なもの、というと具体的にはどういったものでしょうか?

286:nobodyさん
07/01/08 20:26:32
ソースはこんな感じになってます

<%@ Page Language="C#" Inherits="System.Web.UI.MobileControls.MobilePage" Culture="ja-JP" Debug="false" UICulture="ja-JP" EnableSessionState="True" Trace="false" %>
<%@ Register TagPrefix="mobile" Namespace="System.Web.UI.MobileControls" Assembly="System.Web.Mobile" %>

<script runat="server">


</script>

<html xmlns="URLリンク(www.w3.org) >
<body>
<mobile:form id="form1" runat="server">1<br /><mobile:Link ID="Link1" Runat="server" NavigateUrl="#Form2">Link</mobile:Link></mobile:form>
<mobile:Form ID="Form2" Runat="server">2<mobile:Link ID="Link2" Runat="server" NavigateUrl="#form1">Link</mobile:Link></mobile:Form>
</body>
</html>

287:nobodyさん
07/01/08 20:30:06
>>286
<script runat="server">


</script>

↑のことです。
<html>タグの中にいれてください。
余分っていう表現は適当じゃなかったですねw

288:nobodyさん
07/01/08 20:31:34
>>287
自己レス。コードビハインドじゃないときはそれが正しいんでしたっけ?(汗

289:nobodyさん
07/01/08 20:32:36
つか
<html xmlns="URLリンク(www.w3.org) >
"がきになりました。

290:nobodyさん
07/01/08 20:39:02
>>289
それは勝手に追加されてたので、無視してました。
アドバイスありがとう御座います。試してみます

291:nobodyさん
07/01/08 20:41:40
>>287
早速試してみましたが、やはりエラーがでてしまいました。

292:nobodyさん
07/01/08 20:47:45
>>291
HTTPレスポンスの内容をのぞいてみてください。
以前、携帯HP開発やってたときの経験ではResponseContentの<html>タグの前に文字列があると
エラーになった覚えがあります。環境はASP.NETではなかったですが。

293:nobodyさん
07/01/08 21:11:50
再びありがとう御座います。
試してみましたが、やはりau以外での閲覧が出来ませんでした。

294:nobodyさん
07/01/08 21:19:25
>>293
ASP.NETの問題ではない気がするのでWebPogの携帯HP関連のスレに
HTTPレスポンス文字列を貼り付けてみてもらうのが早道かもしれませんね。

295:nobodyさん
07/01/08 21:25:14
三度ありがとう御座います。
ん〜〜どうしてもauで見られるという点が引っかかってるんですよね。
個人的にはASP.netの記述ミスか何かだと思っていたのですが・・・

もうしばらく調べてみます。

296:nobodyさん
07/01/08 22:26:21
>>295
俺は携帯電話の全キャリアの旧ブラウザにも対応するために全てのHTML文をC#から書き出すようにしたなぁ…
基本はResponce.Write(<html>…</html>);
でC#側で勝手に付加されるタグ類(<script>やら)は吐き出さないようにしたような。
うろ覚えですがw
ちなみに文字化けでやたらと引っかかったのを覚えてる。。
ページのエンコードをshift_JISにするのではまり、次に、URL?id=<文字列>もエンコードするのを忘れ…

297:nobodyさん
07/01/09 05:55:40
ファイルが
URLリンク(www)
にあって、
ユーザーも
URLリンク(www)
に直接アクセスしてきたとします。
そのときにCG.jpgにアクセスしてきた人数を記録するカウンタープログラムはどうやって作るのでしょう。

298:nobodyさん
07/01/09 23:55:15
質問します。
flashからasp.netに変数を渡し、処理後flashに戻す、というプログラムを作成しました。
ローカルサーバにおいてある場合は動くのですが、いざサーバにアップロードしてみると
flashから貰っているはずの変数を参照できないのです。
この場合、考えられる原因は何なのでしょうか?

299:nobodyさん
07/01/10 00:36:57
>>297
HTTPサーバのログをAWKか何かで舐めれば良いんじゃないの?w

300:nobodyさん
07/01/10 09:24:20
>>298
具体的にどう実現してるかわからんが、cookie使ってるならブラウザとかFWの設定じゃないか?

301:nobodyさん
07/01/10 14:19:29
WebRequestてかWebResponseで引っ張ってきた内容を、
扱えるDOM Parserってないですか?

302:nobodyさん
07/01/10 21:31:19
System.Xml.XmlReader

303:nobodyさん
07/01/11 00:20:00
>>302
XMLでなくて、HTMLなDOMだと?

304:nobodyさん
07/01/11 20:22:35
mshtmlでいいんじゃね

305:nobodyさん
07/01/12 16:16:18
ユーザーコントロールとテンプレートで動的にコントロールを複製した場合に
そのユーザーコントロールの値を取得する簡単な方法はないでしょうか?


306:nobodyさん
07/01/21 18:59:59 t33NEAvg
たとえば「txt」というnameのテキストボックスを複数含むフォームから
送信されてくるデータの取得方法なんですが
複数の同名フォームの値がカンマ区切りとなっているものが
Request["txt"]で参照できると思います。
そのカンマによって何番目のテキストボックスか?を判別できますが
テキストボックスの値にカンマが含まれている場合、テキストボックスの値としてのカンマが
区別できないため何番目のテキストボックスかが判別不能になってしまいます。
なにか方法はないでしょうか?


307:nobodyさん
07/01/21 19:50:53
>>306
すみません。自己レスです。
Request.Form.GetValues("keyword")
でとれましたw
失礼しました。

308:nobodyさん
07/01/21 19:56:31
実用的じゃないかもしれん&うる覚えだが
Request.Form[<インデクサ>]でフォームの値を取得できなかったっけ?
Request.Form["txt"]で全体を取得するのをやめてtxtテキストボックスの値をインデクサで指定して
一つずつ取得する関数を作ってみるとか…

309:nobodyさん
07/01/25 16:53:42 ARzf/NmL
質問です。
@VWD2005でC#使い、アンケートフォームを組んでいるのですが、たとえば郵便番号なら
-------------------------------------------------------
郵便番号 [CustomValidator]
 ┌─┐_┌──┐
 └─┘ └──┘
-------------------------------------------------------
というテキストボックスの両方に値が入っていない場合は[CustomValidator]に「必須入力です」と返したいのですが、やりかたがわかりません。クライアント側でJavaScriptで…というやりかたは避けたく、Default.aspx.csの側で、
-------------------------------------------------------
protected void checkButton_Click(object sender, EventArgs e) {
(略)
    //郵便番号が正しく入力されていない
    if (postLeftText.Text.Length != 3 || postRightText.Text.Length != 4){
       postNumValidator.ErrorMessage = "正しく入力してください";
    }
}
-------------------------------------------------------
とやっても無反応で、でも他のやりかたを見つけられず悩んでいます。


310:309
07/01/25 16:55:36
Aあと、このアンケートではチェックボックスを使ったアンケートを取るべく
-------------------------------------------------------
アンケート [CustomValidator]
□ とてもいい
□ いい
□ ふつう
□ わるい
□ とてもわるい
-------------------------------------------------------
で、一つもチェックされていない場合エラーを返したいのですが、記述方法がわかりません。
perlなら
unless($cgi_pm->param('enquete')){push @errmsg,'一つも選ばれていません';}
っていうようなことをやりたいのですが…
ヒントまたは「ここに同じような例が載ってるよ」でも構いませんので、
教えていただければ幸いです。

311:nobodyさん
07/01/25 17:25:25 GWbwdMjR
最近、Win2000ProにVisual Web Developer 2005 ExpressでWebプログラムを作り始めたのですが、
ASPNETDB.MDF内のPofileに値を入れようとしたところで行き詰まっています。
開発環境からVWDの.NET開発サーバーを通した場合は、問題なくProfileに入れた値を読み書きできるのですが、
できたファイル郡をIISのWebフォルダ下にコピーしてIIS経由で開こうとすると、
「ユーザーのローカル アプリケーション データ パス取得中のエラーにより、SQL Server のユーザー インスタンスを生成できませんでした。対象のユーザーのローカル ユーザー プロファイルがコンピュータに存在することを確認してください。接続は閉じられます。」
というメッセージが出てProfileの値を取り出すことができません。
 ○:URLリンク(localhost:2600)
 ×:URLリンク(localhost)
となるのです。
いろいろとググった結果、\App_DataフォルダやASPNETDB.MDFのセキュリティの記述があったので弄ってみましたが、
状態は変化なしです。
どこをどう弄ればIIS経由で開いた時もProfaileの値を読み書きできるようにできるのでしょうか?


312:nobodyさん
07/01/25 19:54:58
>309

検証コントロールの使い方を理解したほうが早いと思う。
URLリンク(www.atmarkit.co.jp)

未入力項目をチェックしたい場合は、
RequiredFieldValidatorコントロールを使うのが普通。
URLリンク(ja.gotdotnet.com)

つーか、2chではなく、MSDNフォーラムで聞けば、丁寧に教えてくれる。
URLリンク(forums.microsoft.com)

313:nobodyさん
07/01/25 20:01:16
>310

検証コントロールは使わないで良いかと。

void Button_Click(Object sender,EventArgs e){
if (!CheckBox1.Checked && !CheckBox2.Checked && ...)
{
Label1.Text = "えらんでください";
}
}

Perlと違ってイベントドリブンなので、こんな感じじゃない?

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


314:nobodyさん
07/01/25 20:05:48
>311

IIS環境に、SQL Server 2005 Express Editionは入ってる?
DBをユーザインスタンスで起動できていないメッセージに見えるけど。

それか、ASPNETDB.MDFではなく、他のDBに保存するかとか。
URLリンク(dotnetfan.org)

315:311
07/01/25 21:39:35
>>314
レスありがとうございます。
同一マシンなので、もちろん入っています。
インストールもIIS>MDAC2.8SP1>VWDと入れ、IISの.NETタブを2.0に変えました。
SQL-Serverサービスも動いています。
Profileを使わなければ、IIS経由でもaspxファイルは動きます。
開発サーバー経由とIIS経由では動作ユーザが違うという記述があったので、
APP_Dataフォルダを丸ごとEvryoneでフルコントロールにしたりしてみたのですが
効果がありませんでした。
他のDBが無いので、とりあえずExpressでなんとかしたいのですが・・・。


316:309
07/01/26 11:13:12
>>312
>>313
ありがとう。

>>312
RequiredFieldValidatorだと、「入力されていません」が2つ出ることに。
配置をdynamicにしても、両方とも入れられなければエラーが2つ出るので、それを一つにまとめたいなーというのが動機です。

>>313
checkBoxListなんてものを使ったから余計に難しくなったのか…
よく考えればcheckBox並べてりゃもっと簡単に考えられたのかも。

VWDって敷居が高い…
でも会社でPerl禁止令出たしなぁ。


317:nobodyさん
07/01/26 11:31:56
>316

そういうことだったら、CustomValidatorコントロールでもよいかも。
ServerValidateイベントを実装しないとだめかと。

protected void CustomValidator_ServerValidate(object sender,ServerValidateEventArgs e) {
  if (チェック条件) {
    e.IsValid = true; //妥当
  else{
    e.IsValid = false; //エラー
  }
}

checkBoxListは、ListContorlクラスを継承しているから、
SelectedIndexプロパティが使えるかと(-1なら未選択)。


最初は読みにくく感じるかもしれないけど、
MSDNのメンバ一覧を見る癖をつけたほうが良いかもよ。
URLリンク(msdn2.microsoft.com)(VS.80).aspx

318:309
07/01/26 17:04:01
>>316
ありがとう。


319:309
07/01/26 17:04:35
>>317だった…

320:nobodyさん
07/01/26 22:06:40
>>310はチェックボックスじゃなくてラジオボタンにするべき


321:nobodyさん
07/01/27 17:25:28
>>320
複数可、全未選択不可という条件だと察するから、
チェックボックスでいいんじゃないだろうか

322:nobodyさん
07/01/27 20:02:17
ReadOnlyのTextBoxの値が時たまブラウザに表示されないことがあるんだけど、
そんなことない?
ググって見るとASP.NET2.0からReadOnlyのTextBoxの値をスクリプトで書換えると
無視するとあるけど、使ってるのはASP.NET1.0だし書き替えもサーバー側の
置換えのみ、試しにアトリビュートでReadOnlyにしても効果無し

ここ1ヶ月このトラブルでもう。。。


323:nobodyさん
07/01/27 22:32:36 h09XMzrE
readOnlyのテキストボックスは使った事がないけど
readOnlyに限定してしまうならテキストボックスにこだわる事は
ないじゃないか?
客先の条件だったとしても、マイクロソフトの仕様で無理なんですって
突っぱねてしまいそうな俺がいる

324:nobodyさん
07/01/28 01:31:37
>>321
[レ] とてもいい
[レ] いい
[レ] ふつう
[レ] わるい
[レ] とてもわるい

325:nobodyさん
07/01/28 11:44:05
>323
>readOnlyに限定してしまうならテキストボックスにこだわる事は
>ないじゃないか?

そうですね。
試しにLabelの枠を凹ませたけど今イチ格好悪いなぁ。


326:nobodyさん
07/01/28 19:05:01 JpUTkmIr
visual studio2005で
aspとsqlを用いてぐるなびのようなポータルサイトをつくりたいと考えています。
学生団体で地域発展のために行うもので、
掲載希望の店舗のユーザーにはパスワードを与え(これはたぶん郵送かE-mailかな)
こちらがつくったテンプレートをもとに
画像と文章をブラウザから入力、アップロードするだけで
その掲載希望した店舗のページを自由に更新させるようにしたいです。
それってどうやるのでしょうか?昨日からVisual basicとasp.net勉強しはじめたばっかりなので
あまりわかってないのですが、教えてください。

いま考えているのは、そのポータルサイトから契約店舗専用ページに
リンクをはり、それに認証をかける(ユーザーに郵送したものではいれる)
さらにはいると、店のリストがならび
自分のパスワードで自分の店の編集ページにはいれるようにする。
ユーザーコントロールを、ユーザーコントロール外の上などに
テキストボックスやイメージアップロードさせるものをおき、
それでユーザーコントロールを更新させる。(データベース通さないとだめなのでしょうか?
そうでないと、その場で表示されるだけだったりしますか?

で、ふつうの人が見るページに、そのユーザーコントロールをおく。

で、できますか?

327:nobodyさん
07/01/28 19:42:40
いいえ

328:nobodyさん
07/01/28 19:42:49
>>326
できる。

329:nobodyさん
07/01/28 20:52:30
>326
できるんじゃない。
似たような仕組みは作ったことあるよ。
がんばって。

330:nobodyさん
07/01/28 22:59:57
ユーザーコントロールってページ見てる人が動的に弄れるんだ

331:309
07/01/30 17:15:19
>>320
実際はもっと違う質問で、選択肢がたくさんあるんだけど、
数が多いので端折ったのよ。
でも例が悪かったね。申し訳ない。
性別はラジオボタンリストで取っています。

>>321
そのとおりで、でも私の出した例が悪くて。
結局検証コントロールはやめて(どうにもこうにもなじめない)、プログラム側で判定し、エラーの場合はLabelにエラーメッセージを書き出すようにしました。


ところで別の質問です。
メールアドレスの正当性をチェックしたいのですが、perlでやると
-----------------------------------------------------
#メールアドレスが正しいかどうかを調べる
if($mail and not (Email::Valid->address(
'-address' => $mail,
'-mxcheck' => 1)
)){
push @errstr, 'メールアドレスは形式が不正か、存在しません。';
}
-----------------------------------------------------
のようなことをVWD+C#でやりたいのですが、どこかそれらしいところを紹介している場所があれば教えていただければありがたいです。


332:nobodyさん
07/01/30 21:39:31
メール アドレス 判定 でググってみたらそれっぽいものが
URLリンク(support.microsoft.com)
URLリンク(www.atmarkit.co.jp)


333:nobodyさん
07/01/31 00:20:55
>331

RegularExpressionValidatorコントロールでしょう。

URLリンク(www.microsoft.com)

334:nobodyさん
07/01/31 01:20:46 cBvXWViJ
>>331
regexクラスは後々色々と使えるからオススメって上司が言ってた
俺は馴染めなくて使ってないが

335:309
07/01/31 07:24:40 KvtstY0a
ありがとう。
いや、そっちじゃなくて、mxレコードが存在するかどうかをチェックしたいのです。…

//メールアドレスの正当性チェックルーチン
protected bool MailCheck(string mailAddr){
Regex mailRegEx = new Regex("(?<user>[^@]+)@(?<host>.+)");
Match ml = mailRegEx.Match(mailAddr);

if (ml.Success) { //形式OK

/*
if(){ //mxレコードが存在する
return true;
}else{ //mxレコードが存在しない
return false;
}
*/

return true; //あとで消す
} else { //形式がおかしい
return false;
}
}
/*〜*/でコメントアウトしている部分がどうにもこうにも…
形式が正しい+MXレコードが引ける→trueを返す
そのほかは全部false
にしたいのですが…

336:nobodyさん
07/01/31 10:08:08
>>335
mxレコードって何?
自分の知識の浅さに辟易するw
こんなのじゃだめ?
出先だから動作は確認していない…

//mxレコードの有無のチェック
bool IsExistMailAddress(string address){
return (mxレコードtを取得する処理.Count)>0;
}
//形式のチェック
bool IsValidAddress(string address){
bool Regex mailRegEx = new Regex("(?<user>[^@]+)@(?<host>.+)");
Match ml = mailRegEx.Match(mailAddr);return ml.Success;
}

//メールアドレスの判定
bool Check(string mail){
if(IsValidAddress(mail)){
if(IsExistMailAddress)
return true;
}
else{
return false;
}
else{
return false;
}
}

337:nobodyさん
07/01/31 10:57:48
>>333

改行しろや!!横スクロールでるだろうがっ!!!

338:nobodyさん
07/01/31 10:59:26
>>335
情報を小出しにすんな。
URLリンク(www.codeproject.com)

339:309
07/01/31 11:22:27
>>336
ありがとう
試してみます。


>>338
すまん。

'-address' => $mail,
'-mxcheck' => 1 ←←

で通じると思ってた。普通に考えりゃ通じないわな…
訳して試してみます。ありがとう。


340:nobodyさん
07/02/01 19:36:19 MYaqNwfd
質問なのですが
SQLサーバにストアドプロシージャを使用してログインアカウントと
そのログインアカウント用のDBを作成しています。
-------------------------------------------
こういったDBが作成されます
ログインアカウント:A
パスワード:****
settingテーブル(Aユーザの設定)
infoテーブル(Aユーザの取得したデータを保存)
ログインアカウント:B
パスワード:****
settingテーブル(Bユーザの設定)
infoテーブル(Bユーザの取得したデータを保存)

ユーザが増える毎にログインアカウントとデータベースが増えていく
-------------------------------------------
これらの増えていくログインアカウントのログイン状況の管理ページを作成したいのですが
ログインアカウントの一覧をC#から取得する方法はないでしょうか?
新規にログインアカウント管理用のDBを作成する事は仕様上不可能です。
仕方がないのでログインアカウント一覧取得

そのログインアカウントを使ってconnectionStringを作成してアカウント毎にログイン状況を表示

みたいなものを作成するために、ASP.NET ログイン アカウント 取得
などでぐぐったりhelpを読んだりしているのですがそれらしい記述がなく途方に
くれています。
どなたか方法をご存知の方はおられないでしょうか?

341:nobodyさん
07/02/01 23:56:33
>340
SQL認証に関する質問?
質問内容がよう分からんです。

342:>>340
07/02/02 02:08:50
>>341
すいません、理論的に言葉にするのが苦手で…。

SQL認証ではないです。

やりたいことはログインの下のアカウント名を全て取得する事です。
以下に説明しなおしてみます。

SQLsever2005ExpressをSQLsever Management Studioのオブジェクトエクスプローラで見ると
-------------------------------------------

コンピュータ名\EXPRESS
┣+データベース
┗━セキュリティ
┗━ログイン
┣━A
┣━B
┗━sa
+サーバーロール
+資格情報
-------------------------------------------
上記の様になっています。
したい事は"ログイン"の下のアカウント"A","B","sa"を全て取得する事です。
ログインアカウントを取得する良い方法はないでしょうか?

ディレクトリ名から取得、データベース名やテーブル名から取得も出来ないのでどうしてやれば良いものかと。。

343:nobodyさん
07/02/02 12:24:01 PlF5DoK0
VS2005でASP.NETを使ったイントラページを作っています。
SQLServer6.5のテーブルに接続しようとODBC接続でコードを書いたのですが、開発環境では動くのに
Webサーバー(開発機内のIISのWebフォルダ)へコピーすると以下のエラーが出てDBへの接続が拒否されます。

 ERROR [08001] [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server が存在しないか、アクセスが拒否されました。
 ERROR [01000] [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Connect()).

SQLServerに対する接続は標準接続で接続文字はサーバーエクスプローラーからコピーしてきました。

Dim cnn As OdbcConnection
Dim dr As OdbcDataReader
Dim cm As OdbcCommand
cnn = New OdbcConnection
cnn.ConnectionString = "Driver={SQL Server};server=HogeSV;uid=sa;app=MicrosoftR Visual StudioR 2005;wsid=hoge;database=hogeDB"
cnn.Open() ← ここでエラー

接続文字もTNSを追加してみたり、OLEDB接続に変えてみたりしましたが、やはりIISへ持っていくとダメです。
開発環境ではOKでIISでダメな場合のチェックポイントがあれば教えてください。


344:nobodyさん
07/02/02 14:39:38
>>343
開発機のファイルシステムベースで開発していて、
それを開発機のIISへコピーして動作しないということ?
以下は試してみた?

1)IISへはVSのサイト発行機能を使用してみる
2)ローカルWebサイトで直接作成する(Webサイトを作る時、場所としてhttpでURLリンク(localhost)を選択する)


345:nobodyさん
07/02/02 20:34:09
ドライバが古かったりping通らなかったら笑うな


346:nobodyさん
07/02/02 22:12:11 SXH/UThl
データベースの値を拾って、行数に合わせてテーブルのセルへテキストボックス等を
コードビハインドでずらっと並べて、textプロパティへ値を入れたり参照したりする
サンプルコードってどこかに無いでしょうか?


347:nobodyさん
07/02/02 23:18:10
コードビハインドを誤解してる予感

348:nobodyさん
07/02/02 23:18:35
>346
URLリンク(www.atmarkit.co.jp)

349:nobodyさん
07/02/02 23:26:12
>>348
どうもです。
まさにこれです。
要するにやめとけってことですね。orz


350:344
07/02/03 00:01:49 2oS0EMIn
>>349
RepeaterでTextBoxを表示させて、それぞれアクセスすればよろし。

351:nobodyさん
07/02/04 08:58:56
2つのウェブサイトで共通するコードとリソースがあったから、
クラスライブラリ形式で作った。
クラスライブラリにするとdllとしてASP.NETプロジェクトから取り込まれるが、
このdllの中のアセンブリリソースを*.aspxから直接参照する方法ってないのかな。
サイト内のアセンブリリソースだと<#$ Resource: messages, hoge #>とかできるけど。

352:nobodyさん
07/02/05 00:48:14
ただいまVS2005にてC#+ASP.netで開発しているのですが、
色の設定ができるダイアログを出す術はあるのでしょうか。
調べては見たものの、見つかりませんでしたので質問させていただきました。

353:343
07/02/05 09:31:07
>>344
どうもです。
1はやってみましたが、同じ結果でした。
2はソリューションファイル以外をIISの管理下のフォルダへ直接置くということですよね?
こちらはこれからやってみます。
同一マシンからなのに、「見つからない」というのがどうも解せなくて・・・。

>>345
ドライバは判りませんが、開発環境からは見えているので、pingが通らないということは
ないと思います。現に、マシン名を使ってのpingも通ってますし。


354:344
07/02/05 10:23:23
>>353
ファイルシステムベースで開発してるマシンと、IISが動作してるのは別PC?

とりあえずWindowsFormでSQLサーバに接続するコードを書いてみて、
それをIISの乗ってるPCで実行して試してみたら?

だめなら物理的に見えない可能性が高い。
接続できたらIISの設定等の可能性が高いということで。


355:343
07/02/06 11:10:43
>>354
簡単なページを作成して、
 2)ローカルWebサイトで直接作成する(Webサイトを作る時、場所としてhttpでURLリンク(localhost)を選択する)
をやってみましたが、やはり同じように拒否られます。

>ファイルシステムベースで開発してるマシンと、IISが動作してるのは別PC?
同じです。
というか、本来のWebサーバ上でエラーが出たので、開発機内のIISへコピーしてみたら、同じエラーが出ているのです。

あと、WindowsFormでDB接続部のコードを丸写ししてみたところ、問題なく接続できました。
値も取れます。

IISのどこかに設定があるのでしょうか?
Oracleには何も問題もなく接続できるのですが・・・。


356:343
07/02/06 11:57:37
それと、このIISですが、ASPでのDB接続はSQLserverもOracleも問題なくできています。
VB6のアプリも問題ないですし。
ASP.NETだとだめなんですよね・・・。


357:344
07/02/06 19:58:02 SPFBBkyr
>>356
SQLサーバへの接続はSAでの接続?

普通にASP.NETは動作するんだよね?
→まずASP.NETが動作するか確認しよう

聞いている現象だと、ASP.NETのアカウントがSQLServerのユーザになってないような気がする。
IIS上で動作してるASP.NETはASP.NETアカウントで接続しようとするので、
SQLサーバなどに権限がないと接続できない。

それが違うとしたら、IISのスナップインで規定のWebサイトあたりを見てみると幸せになれるかもしれない。

358:343
07/02/06 20:14:29
>>357
あぁ、タイミング良くレスが。m(_ _)m

普通のASP.NETページはもちろん動いています。
SQL-Server6.5への接続だけができません。
接続ユーザはsaです。
標準接続でDB接続文字にsa等があってもASP.NETアカウントで繋げようとするんでしょうか?
IISのスナップインというのは、IISサービスマネージャのことでしょうか?
と思ったら、参照というのがありますね。
ちょっと詳しく見てみます。


359:nobodyさん
07/02/06 20:15:02
>>357
SQLServer6.5ってのが、ちょっとポイントかな。
もう10年ぐらい前なかんじだし、今時のドライバでいいのかどうかちょっとわからん。

でも、そもそも接続用のプロトコルはどうしてるの?
名前解決が出来てないとか普通にある話だと思うけど。

とりあえずサーバー側、クライアント側双方の接続をTCP/IPを最優先にして試してみるといいよ。
Named PipeなのにIP指定とかありがちな罠なんだけど。


343の接続文字列は、同一の内容をASPに持ち込んで動くの?
それとIISとSQLServerは同一セグメントにあるの?


360:343
07/02/06 20:45:55
IISインフォメーションサービスを再度見直してみましたが、コレというものは見つけられませんでした・・・。

>>359
やっぱりDBが古いんですかねぇ。orz
前にも書きましたが、WindowsFormに同じコードを書くと、問題なく接続できます。
若干コードは異なりますが、従来のASPでも動いています。
ASP.NETでもVS内のWeb開発サーバー経由なら問題ありません。
IIS配下で動かすとダメなんですよね・・・。

今、ふと思い出しましたが、Windows2000上にSQLSserver6.5を入れているのが悪いのでしょうか?
6.5って元々NT4ベースですよね。
他の方法では接続できるので、この点はあまり気にしていなかったんですが。


361:nobodyさん
07/02/06 22:01:11
流れをぶった切ってすんません。
以前のVBなんかだとラベルとかのコントロールにインデックスを付けて、Forループとかで
キャプションを書き換えたりとかやってましたが、ASP.NETで同じような処理をするには
どうすればいいのでしょう?
IDってインデックスみたいな使い方ってできませんよね?


362:344
07/02/06 22:06:05 SPFBBkyr
>>360

>標準接続でDB接続文字にsa等があってもASP.NETアカウントで繋げようとするんでしょうか?
初めに断っておくけど、SQL7以降しか知らないので、間違ってたらすまん。
よく考えればWindowsFormでも同じ接続文字列で接続できてるので、問題はないかもね。

そう考えると難しいなぁ。
でも原因はIIS上でだけ動作しないということなので、IIS上とその他の違いを検証してみるのが
解決の近道だと思う。

仮に、SQLServerExpressで接続する環境を整えてみたらと思う。
→もし接続できたら、SQL2005とSQL6.5の違いが原因と区別できる

管理ツールフォルダにある、インターネットインフォメーションサービスをいじると幸せになれるかも。


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

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