【質問】ASP.NETスレ Part3【議論】at PHP
【質問】ASP.NETスレ Part3【議論】 - 暇つぶし2ch320: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の違いが原因と区別できる

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

363:344
07/02/06 22:37:19 SPFBBkyr
>>361
ページに配置したコントロールにアクセスする方法としては、

protected void Page_Load(object sender, EventArgs e)
{
 this.TextBox1.Text = "a";
 foreach (Control a in this.form1.Controls)
 {
  if (a.GetType() == typeof(TextBox))
  {
   TextBox b = (TextBox)a;
   b.Text = "ぬるぽ";
  }
 }
}
でアクセスできると思うけどどう?//C#ですまん

364:nobodyさん
07/02/06 22:56:44
>>363
レスサンクス。
C#判らんので、ちょっと説明をお願いします。

>  foreach (Control a in this.form1.Controls)
この行はページ上にあるコントロールを全部見ていくということですよね?

>   if (a.GetType() == typeof(TextBox))
で、ここで参照しているコントロールがテキストボックスかどうかを判定していると。

>    TextBox b = (TextBox)a;
で、ここの書き方がよく判りません。
VBだとここはどういう書き方になるんでしょう?


365:344
07/02/06 23:06:41 SPFBBkyr
>>364
ごめんVBはさわったことがないので、どういう書き方かわかんないw

それぞれ説明すると
>  foreach (Control a in this.form1.Controls)
Control型の変数aに、そのページ上に配置されてるコントロールを順次いれていきますよということ

>   if (a.GetType() == typeof(TextBox))
そのaという変数のクラスの形がTextBoxであったら・・ということ

>    TextBox b = (TextBox)a;
aはControl型の変数なので、TextBox型の変数bにキャストして代入しますよということ

VBだとたぶん、

TextBox b = a as TextBox

とかなのかな?

366:nobodyさん
07/02/06 23:13:58
C#でもas演算子あるから。。。

367:344
07/02/06 23:19:21 SPFBBkyr
>>366
VBでも同じようなのがあったように思って想像で書いたんだもん(´Д⊂グスン
間違いを指摘してくれるのもありがたいけど、よければあなたの知恵も
貸しておくれよ(´Д⊂グスン

368:364
07/02/07 10:33:07
サンクスです。
昔のBasicとかだと、全部見るなんていうのはムダっていう感覚があったかと思いますが、最近は考え方そのものが
違うんですね。
VBだとこんな感じになりました。

For Each a As Control In form1.Controls
If TypeOf a Is TextBox Then
Dim b As New TextBox
b = a
b.Text = "ガッ"
End If
Next

これでバッチリと思って実際に使おうとしたら、MasterPageを使っているせいか実際にコントロールを参照したいページが
見えません。
参照したいページのコード上で
For Each a As Control In Form.Controls
とやってもマスターページ上のコントロールを拾っているようです。
該当ページのID名を名指ししても.Controlsが候補に出てきませんし、どうすれば指定ページの参照ができるんでしょう?
最近.NETを始めたので、クラスとか継承とかの概念がイマイチ掴みきれなくて難儀してます。


369:nobodyさん
07/02/07 11:57:03
>>368
そもそも、マスターページ使うとFormじゃなくなるじゃない。
Formを見るんじゃなくて、コンテンツプレースフォルダの方を見ないといけないと思うよ。
ドキュメントアウトラインを見るときっと幸せになれる。

370:364
07/02/07 16:21:34
コンテンツプレースフォルダを元にあれこれぐぐっていたところ、このページを見つけました。
URLリンク(msdn2.microsoft.com)(VS.80).aspx
ここにあるFindControlのサンプルコードを使ったところ、目的とすることが実現できました。
ちょっぴりシアワセな気分です。
判ってみればなーんだですが、資料が無いとワケワカですね。
知らない単語がボコボコ出てくるし。
マスターページを使うとFormじゃなくなるなんて、考えてもいませんでした。
これからももっと精進します。
ありがとうございました。


371:nobodyさん
07/02/08 00:18:13
>参照したいページのコード上で
>For Each a As Control In Form.Controls
>とやってもマスターページ上のコントロールを拾っているようです。
単純にMe.Controlsにすれば良いんじゃ…

MasterPageからContentPlaceHolder内のコントロール参照するか、
逆にContentPlaceHolderからMasterPageのコントロール参照するならFindControl要るけどさ。

372:nobodyさん
07/02/08 00:28:08
※蛇足。
Dim b As New TextBox
b = a
無駄に新しいインスタンス作る必要ナサス(・ω・`)

373:344
07/02/08 00:50:00 mDr34b0y
>>371
protected void Page_Load(object sender, EventArgs e)

this.Controls
だと、残念ながらポトペしたコントロールは取得できないのよね。
Dim b As New TextBox
は俺も気になった。

しかもループ内でdimすると、たぶん次々と作られるんだよね?
ループ外で
Dim b as textbox
しといて、ループ内でキャストしていれてあげたほうがいいとは思う。




374:nobodyさん
07/02/08 00:58:13
ループの中でも外でも良いような気もするけど。
プロパティの設定だけするんならこんなんで良いかw

Dim ctl As TextBox
For Each a As Control In Me.Controls
 If TypeOf a Is TextBox Then
  With DirectCast(a, TextBox)
   .Text = "ぬるぽー"
  End With
 End If
Next

375:nobodyさん
07/02/08 12:38:41
>>360
接続文字列は問題ないし、WindowsFormだとOKという事は、
IISというかASP.NETが動作しているアカウントのプロファイルでの、接続プロトコルの問題だと思う。

と思ったけど、Net-Libraryの設定はHKLMなんでアカウント単位ではないみたい。

だけど検索してみると、Net-Library設定をTCP/IPのみにしてみると良いみたいな話もあるんで、
試してみたらどうでしょうか?

URLリンク(www.ilovex.co.jp)
URLリンク(www.sqlpassj.org)

376:nobodyさん
07/02/09 01:38:57
VS2005 ASP.net + C#

Comet(元の名前なのでしょうか?)を使用して、
イベント駆動型のアプリケーションを作成したいと考えております。
CometがAtlasに改名されたようにも聞きましたが、
Cometを使用する場合、どのようにすればよいのでしょうか。

調べては見たのですが、あまりよい結果が得られませんでしたので
お力を貸していただきたく質問させていただきました。


377:nobodyさん
07/02/09 09:16:27
>>376
ASP.NET Ajaxの事?
URLリンク(www.microsoft.com)
それともWebサーバからPushするCometの事?

378:nobodyさん
07/02/09 09:47:48
後者のサーバー側からのPushするCometのことです。
Ajaxは現在も使用しております。(AjaxControlToolkit等

Atlasという名前も出てきており、Cometというものの存在が
自分の中でうやむやでして、わかりずらい質問で申し訳ありませんでした。

379:nobodyさん
07/02/12 15:08:59 4By4m9oB
VS5005proで作ったページが開発環境ではエラーが出ず普通に動きますが
テストサーバ(XPpro)に移して開くと下記エラー画でました。
サーバの設定が必要なのでしょうか?

Server Error in '/asp' Application.

配置したディレクトリィは、D:\asp/xxx/です。
よろしくお願いします。


380:360
07/02/12 17:46:30
>>375
レスありがとうございます。
別PCにSQL鯖6.5を入れてみてもやはり同じ症状で繋がらず、2005EXを入れてテーブルを作ったら
問題なく動いたので、ほぼDBのせいだよなぁと思っていたところにレスを見ました。
SQL鯖6.5にも似たような設定ツールがあったので、TCP/IPにしてみたりしてみました。
すると、今まで「見つかりません」となっていたエラーが出なくなりました。
ただし、結果セットが空の状態ですが・・・。orz
それと、付属のエンタープライズマネージャが名前接続をしているのか使えなくなります。
どうやら接続手順の順番を変えるのではなく、接続方法そのものを変えてしまうような感じです。
それでも多少なりとも希望が出てきました。もう少しトライしてみます。


381:nobodyさん
07/02/12 20:14:18
>>379
エラーはそれだけか

382:344
07/02/12 23:12:02
>>380
ADO.NET2.0が、そもそもSQLServer6.5に対応しているか疑問だったりして。

・SQL Server 6.5 または OLE DB プロバイダには System.Data.OleDb を使う。
って書いてあったけど、接続して、どうやってデータバインディングさせてるの?

383:nobodyさん
07/02/15 15:08:36
C言語で作ったDLLをBinフォルダにいれ、以下のコードのように宣言して実行してみたところ

[DllImport("~/bin/test.dll", CallingConvention = System.Runtime.InteropServices.CallingConvention.Cdecl)]
private static extern UInt32 test();

~/bin/test.dllが見つかりません

という例外が出てしまいます。
DLLはBinフォルダに入れれば動くようなことが書いてあったのですが。
なおパスを ../bin/test.dllなどの相対パスや test.dll とした場合では上手く動きませんでした。

何が原因でしょうか。


384:nobodyさん
07/02/15 16:23:20 b636dXXT
コードビハインドのVBだとimport(だっけ?C#使いなもので)宣言の所に
import test.dll
でおKなんじゃなかったけ?

385:nobodyさん
07/02/16 12:29:43
ドロップダウンリストにToolTipプロパティをセットしてもTip表示してくれないんだけど、なぜ?
ヘルプ見ても、ドロップダウンリストだけWebControl クラスから継承されないというような書き方が
されているけど、プロパティそのものはエラーも出ずに設定できる。
表示ができないのにセットはできるのも変な話・・・。


386:nobodyさん
07/02/16 17:25:08
最近は環境も書かずに質問するのが流行ってるのか

387:385
07/02/17 14:46:08
スマン。VS2005だ。
言語はVBな。
つか、VS2003やC#ならできるのか?


388:nobodyさん
07/02/17 19:11:52
>>387
出力されたHTMLソースは確認してみたか?
ちゃんとtitle属性が設定されているぞ。

まぁ、IE6だとシカトされてしまうようだけど…

389:nobodyさん
07/02/17 19:43:39
この場合書くべきは実行環境だったんだな

390:nobodyさん
07/02/18 11:42:23 me/LwcjU
Web.configに
<authentication mode="Windows"/>
を書くと開発マシンではうまくいくけどテスト鯖 XP proで
サーバエラーになってしまいます。
どうすればよいでしょうか?
よろしくおながいします。


391:nobodyさん
07/02/18 12:29:06 39E9Hyx/
エラーメッセージをくわしく


392:390
07/02/18 17:00:34 eFlA2pE6
>>391

問題になってる26行目を削除するとエラーは出ませんでした。
おながいします。
---------
構成にエラーがあります。
説明: この要求を処理するために必要な構成ファイルの処理中にエラーが発生しました。以下のエラーの詳細を確認し、構成ファイルに変更を加えてください。

パーサー エラー メッセージ: アプリケーション レベルを超えて allowDefinition='MachineToApplication' として登録されているセクションを使うことはできません。このエラーは、仮想ディレクトリが IIS でアプリケーションとして構成されなかった場合に発生します。

ソース エラー:

行 26: <authentication mode="Windows"/>

393:nobodyさん
07/02/18 23:36:46
>>390
歯車にしてないんじゃないですかね・・・

URLリンク(aspplus.nobody.jp)
最も下のほう「サンプル3」などをどうぞ。


394:390
07/02/19 08:52:44 palmIOuE
>>393
ありがとうございます。
歯車にするディレクトリは親だけでなく子もしなければだめだったんですね。

395:nobodyさん
07/02/19 13:47:03 RZInx/ZJ
リストボックスの幅が足りない時に選んだアイテムのTextをToolTipで表示させたいんですが、
ASP.NET2.0でListBoxの個々のアイテムに対してToolTipをセットすることってできましたっけ?
もしできないのであれば、何か代用できるものはありますか?


396:nobodyさん
07/02/19 16:35:52
>>395
ListItemにはToolTipプロパティは無かったと思う。
ListBoxのToolTipに設定するしかないでしょうね。
イベント駆動で設定できるだろうけど、単純にやると
ポストバックしちゃうから、クライアントスクリプトでやるとか
AJAXのUpdatePanelでやるとか代替手段はありますね。

397:nobodyさん
07/02/20 12:15:15
なるほど、クライアントスクリプトですか。
AJAXはよく判ってないのですが、これならできそうな気がします。
ありがとうございました。


398:nobodyさん
07/02/20 21:13:05
近くの本屋漁ったんですが、ASP.NETないので質問させてください
データベースのAccessとSQLServerって接続とか使い勝手とか違いますか?
別物って考えた方がいいんでしょうか?
WebMatrixで作ろうと思うんですが、
Access、もしくはSQLServerのメリット・デメリットあったら教えてください
あと、MySQLって使えましたか?

よろしくお願いします

399:nobodyさん
07/02/20 22:13:20
>>398
初めてASP.NETに触れるor勉強に使うなら、
Visual Web Developer 2005 Express Edition
& SQLServer 2005 Express Edition
の構成がお勧め。今さらWebMatrix使うこともないべ。

AccessとSQLServerのメリット・デメリットについては、
google先生に聞いてくれ。そっちの方が多分わかりやすい説明あるだろ。

MySQLも使えるけど、初めてDB使うならSQLServerの方が楽じゃないかな。

400:nobodyさん
07/02/20 23:20:58
pdfファイルをフォーム認証するところで、つまづいてます。
いろいろググったのですが、わかりません。アドバイスをお願いします。
やったこと
・aspnet_isapi.dllにpdf拡張子をマッピング。
・IEから直接pdfを見に行く→ログイン画面に飛ぶ(これはOK)
・ところが、正常ログイン後、pdfファイルが表示されない(これが?)
・web.configにHttpHandlerの指定をしたが、同じ症状
 <add verb="*" path="*.pdf" type="System.Web.HttpForbiddenHandler">

なんとなく、HttpHandlerの設定部が怪しいと見ているのですが、
どうでしょうか? 
環境:win2003srv,VisualWebDeveloperExp&SQLServer2005Exp,IIS6.0

ご意見、よろしくお願いします。

401:nobodyさん
07/02/21 00:03:10
>>400
>pdfファイルが表示されない
真っ白な画面なのか、エラーが出るのか、それとも???

402:344
07/02/21 15:25:51
>>398
OLEDB、ODBC、ADOで接続できるDBなら接続できるよ

無料でテストできるSQLServerやオラクルがあるから、普通に
データベースを使ったほうがいいきがする。

403:400
07/02/21 20:06:29
>>401
返答しようとしましたが、会社からは2ちゃんに書き込めず、この時間になってしまいました。

で、自己解決です。
web.configに書き込むのが、
<httpHandlers>
<add verb="*" path="*.pdf" type="System.Web.StaticFileHandler" />
</httpHandlers>
でした。typeの指定をSystem.Web.UI.PageHandlerFactoryとしていたのが
NGの原因でした。
お騒がせしました。

404:nobodyさん
07/02/21 20:50:15
>>399
回答ありがとうございます
今使用しているサーバが2000Serverなんで、WebMatrixがいいかと思ったんです
テスト用に2003Serverにするかもしれないですが、現状は2000Serverなので・・・
もう少し調べてみます
ありがとうございます

>>402
回答ありがとうございます
いろいろ接続はできるんですね
でもって、SQLServerのほうが良さそうですね
ありがとうございます

405:344
07/02/21 21:38:29
>>404
2000Serverだろうが2003Serverだろうが、開発ツールは関係ないよ。
どんなツールで作っても、同じものを作れば基本的に同じものがサーバにアップロードされるわけだから。

開発マシンがWin2kで、VisualStudio2005を走らせるのが重いかも・・・というのはわかるけど、
でも、これはサーバのOSとは関係のない話。

SQLExpress等のほうが、ストアドプロシージャや、ビュー、トリガ、ロールバックなど利用できるので、
どうしてもAccessを利用しなければならないというのでなければ、データベースサーバを利用した
ほうがいいと思う。
VisualWebDeveloperもSQLExpressも商業利用可で無料だったはずなので、あえてAccessを使う必要は
ない気がする。MySQL、SQLServer、Oracleのデータベースのうちどれがいいかは、またこれは別の話だけど。

406:nobodyさん
07/02/22 21:16:02
>>405
>2000Serverだろうが2003Serverだろうが、開発ツールは関係ないよ。
え、そうなんですか?
あまり詳しく調べられてないので・・・
ASP.NET1.1と2.0は別物~という感じで考えてたんですが、
根本から間違えてるのかな・・・orz

Accessを使えるかを聞いたのは、
現状のデータベースのほとんどがAccessで管理しているからです
ただそれだけなので、他のSQLに移行できるならそちらにします

407:nobodyさん
07/02/22 21:21:07
.NETframeworkとOSは何の関係もないぞ

408:nobodyさん
07/02/23 00:42:27
>>406
OSの上にWeb鯖のIISが乗ってる
IIS上で .Net1.xや .Net2.0で作成されたWebアプリを動かすことが出来る。OK?
( .Net1.1のフリー開発環境がWeb Matrix、.Net2.0のフリー開発環境がVWD2005と)

現在Accessでデータを管理していて、
ユーザが触る部分をWebアプリに変えるとゆー認識で間違ってないなら
DBはSQLServerにするのが一番良いんじゃまいか。

409:344
07/02/23 01:11:51
>>406
ASP.NET 1.1と2.0は別物かもしれないけど、その両方ともWin2kでも
Server2003でも動作する。なので、サーバのOSによって開発ツールが
制限されることはないよ。

>現状のデータベースのほとんどがAccessで管理しているからです
またいろいろと意味をくみ取りやすい発言だなw

・今までの開発経験がAccessが主なので、Accessだと安心というのなら
→なら迷わずSQLに進んだ方がいい
・現状のAccessのデータベースを流用したいというのなら
→面倒でなければ、テーブルをSQLに移植したほうがいいとおもう
→無理そうならAccessでも仕方なし。
使い勝手はASP.NETで使用するにおいては、SQLとAccessはそれほど変わらないと思う。
・SQLサーバを利用してるけど、開発時にSQLサーバにAccessで接続して管理してるというのなら
→SQLExpressにも普通にAccessでアクセスできるはずだし問題ない。

つーわけで過去の資産がAccessでない限り、SQLサーバを使うで問題ないと思うよ。


410:nobodyさん
07/02/23 16:10:01
このスレでいいかどうか微妙なんですが、SQL-Server2005Exって
サーバーOSに入れれば接続ユーザ数は制限無いんでしょうか?


411:nobodyさん
07/02/23 16:27:52
>>410
接続ユーザの制限はなかったと思うよ。
業務で使うなら、DBサイズ 4Gまでって制限が引っかかるかどうか

412:344
07/02/23 16:34:31
>>410
(・∀・)つURLリンク(www.microsoft.com)
俺が唯一困ったのが、SQLAgentだっけ?定期バックアップなんかを設定する
タスクが使用できないこと。

でも別にWindowsのタスクでosqlを実行させればいいだけだけどね。

413:nobodyさん
07/02/27 07:22:46
オラクル使いだったら、
バッチ+タスク登録なんて当たり前
タスクを有効に使ってちょーだい

414:410
07/02/27 21:33:16
>>411-412
サンクス。
osqlチェックしてみますた。タスク使えばバックアップもできそうですね。
サイズ的には4Gあれば当面はOKだから、とりあえずそっちへ乗り換えようと思います。


415:nobodyさん
07/02/27 21:44:07
初歩的な質問ですがよろしくお願いします
①鯖には .NetFramework は必要ですか?
②鯖に .NetFramework がインストールされていたら、
ユーザーには.NetFrameworkをインストール必要は無い?

めっちゃ初歩なんですが、教えてください

416:nobodyさん
07/02/27 21:50:43
>>415
オKそのとおり

417:nobodyさん
07/02/28 20:31:21
>>416
ありがとうございます~

418:nobodyさん
07/02/28 22:18:43 ty6wwla4
asp.netでformの中にフレームで画面を区切るには
どうすれば良いんでしょうか?

419:418
07/03/01 03:29:05
自己レスですが…フレームを出すの成功しました。
asp.netのコードビハインドからフレームを表示するんだと
思ってたのがそもそもの間違いでしたorz
HTMLでFREAMSETを指定してフレーム毎に区切ってSRC属性で
処理する.aspxを指定してやれば良かった…


420:nobodyさん
07/03/01 17:52:27 jmrrF5Od
質問です。
ページ上にいくつかのテキストボックスを配置しておいて、AutoPostBack=Trueとし
ポストバックを発生させたテキストボックスを調べて、次のテキストボックスへフォーカスを
移したいのですが、このようなことは可能でしょうか?
ポストバックを発生させたコントロールを得ることはできるのでしょうか?


421:420
07/03/01 18:01:59
すみません、追加です。
上記のテキストボックスはページ上に直接配置したものではなく、
Page_Loadイベント内でコードによって配置しています。


422:nobodyさん
07/03/01 22:28:03
>420
Focus移動ならJaveScriptでやりなされ
>421
動的にコントロールを配置するなら、Page_Initializeで配置しなされ

423:nobodyさん
07/03/01 23:25:43 jy3mPOcm
App_Browsersフォルダに置いたBrowserファイルが認識されないんだけど、何かやり方間違ってるのかな?
ファイルの内容は下の感じ。

<browsers>
<browser refID="Mozilla">
<capabilities>
<capability name="cookies" value="true" />
</capabilities>
</browser>
</browsers>

ヘルプドキュメントの仕様どおりだと、
これでWeb.configでCookieless="UseDeviceProfile"としたとき、
Mozilla系ブラウザのデフォルトでCookielessセッションが無効になるはず
なんだけれども、反応なし。

Web.configファイルで何か設定しないといけない?

424:nobodyさん
07/03/02 00:52:35
自己解決しました。
App_BrowsersフォルダにBrowserファイルが複数あったのが原因だったみたい。
一つに統合したら読み込まれるようになった。
ヘルプにこんなこと書いてあったかな……

425:nobodyさん
07/03/02 09:02:27
ボタンを押したときに、隣に配置したテキストボックスに書かれた文字列をパラメータとして
別のウィンドウを開きたいのですが、イベントプロシージャ内から別ウィンドウを開くコマンドが
判りません。自ページを遷移させるのならできるのですが・・・。

「window.open('URLリンク(hogehoge)');」を予めイベントに予約する方法は見つけたのですが、
これではイベント発生時に値を渡すことができません。
コード上から値を渡して別のウィンドウを開くということはできないのでしょうか?


426:nobodyさん
07/03/02 11:08:00
そのリンクのURLに?hoge='<値>'じゃダメ?

427:nobodyさん
07/03/02 14:33:17
そりゃ所詮HTMLなんだから別ウィンドウ開くのは無理だろうよ
JavaScriptのページでも見て考えてくれ

428:344
07/03/02 15:12:06
>>425
そのボタンを押したポストバック時にのみ、
動的にwindow.openを生成して、別aspxを開くようにすれば?
そのaspxに引数を渡すには、クッキー、セッション、getなど
好きな方法でいいかと。

429:425
07/03/03 17:15:46
>>428
ありがとうです。
ヒントを元にRegisterClientScriptBlockを見つけることができました。
他にも色々使えそうなテクになりそうです。


430:nobodyさん
07/03/03 20:06:55
DLLに構造体を渡したい場合に、固定長配列であれば

public struct test {
...
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
public Int32[] fixed;
}

のようにすれば動くことは確認できたのですが
可変長のときにどうすればよいかがわかりません。
可変長のときはどのようにすればよいのでしょうか?

431:344
07/03/03 21:28:43
>>429
2.0ならClientScriptManagerを使うが吉

>>430
メモリを確保して、データを保存しておいて、
構造体には確保したメモリのポインタとデータ容量と個数を
渡すような感じになるんじゃないかな?

↓こんな感じ?
URLリンク(www.atmarkit.co.jp)

432:425
07/03/04 09:26:09
>>431
一応ClientScriptManagerでやってます。
バージョンが古いぞ警告もでてませんし、動いているのでこれでいいと思うんですが・・・。
Dim callScript As String = "window.open('hoge.aspx?namae=" & name & "');"
Dim instance As ClientScriptManager = Page.ClientScript
instance.RegisterClientScriptBlock(Me.GetType(), "clientScript", callScript, True)


433:344
07/03/04 13:27:42
>>432
ぃぁ、それでok。
( ´∀`)つURLリンク(msdn2.microsoft.com)(VS.80).aspx

セキュリティ的に問題がなければいいけど、GETで値を
渡すってのは個人的になんか嫌(*゚ー゚)

434:nobodyさん
07/03/05 11:58:56
>>431
関数の宣言のほうを
func( ref test ) にしてマーシャリングを無しにして

pDst = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(Int32)) * Count);
for (int i = 0; i < Count; i++)
{
Marshal.WriteInt32(pDst, i * Marshal.SizeOf(typeof(Int32)), pSrc[i]);
}
testFunc( ref test );
Marshal.FreeHGlobal(pDst);

みたいな感じで動きました

固定だと[]ブロックで前もって書いておけば
ソースに割り当て/コピー/開放を書かなくていいのですが
可変長だとCみたいなことをやらないといけないみたいです。


435:nobodyさん
07/03/07 06:09:35 Day+DVo0
開発環境はVS2005でaspxを作成中ですが、ツールボックスの中に
AccessDataSourceというのがありましたがこれをどのように設定すれば
データの読み書きが出来るようになるのでしょうか?
使用言語はVBです。
参考サイトありましたら教えてください。
お願いします。


436:nobodyさん
07/03/07 11:31:22 Gyp/QrwT
ページ中に埋め込んだデータグリッドビューの表示に自前の関数を使いたいのですが、どのように書けばよいのでしょうか?
その自前関数の仕組みは、文字列を評価して改行コードがあるときに<br />に置換するだけですが。

437:nobodyさん
07/03/07 13:24:31
>>435
MDBをバインドすればいいだろ?
>>436
ユーザコントロールでも作れば?

438:nobodyさん
07/03/07 15:12:07
TCPでリモートSQLServerに接続するときって
Data Source=tcp:(servername);
のように常にtcp付けないと行けないものですか?

439:nobodyさん
07/03/09 17:34:09 9hV58lkw
バインドしてページに貼り付けたデータソースから、指定した列だけを取り出して
使いたいのですが、どのように書けばよろしいでしょうか?
お願いします。

440:344
07/03/09 23:21:35
>>439
指定した列だけ取り出して何をしたいのかわからないと、
何とも言いようがない。

指定した列だけ表示したい
→RepeaterなりGridViewなりで列を指定して表示すればいい

指定した列をDropDownListに表示させたい
→DataSourceにIEnmerable派生のデータをバインドでき、さらに
TextとValue列を指定できる

指定はた列の数値を合計したい
→DataTableなりDataViewでレコードセットを取得して、それぞれ
ForEarchでぶんまわして合計を取得すればいい



441:nobodyさん
07/03/10 07:28:08 rptarxeP
>>440
返信ありがとうございます。
やりたい事は、一つの列の特定のレコードに移動して表示させたいのです。
VB6のRS.move 3 みたいな感じのをやりたいのです。
よろしくお願いします。


442:344
07/03/10 19:05:09
>>441
列と行の区別が間違ってないか?
VBの経験がないのでRS.move3がわからないのだけれども、
通常はDataSetにテーブルごとすべて取得して、そこから
値を取得する形になる。

具体的にはDataSet.Tables["TableName"].Rows[Rows]["ColumnName"]
で特定のテーブルの特定の行の特定の列名の値が取得できる。

DataSet.Tables["TableName"].Rows.Countの数だけ行があるので、
その範囲内でRowsの値を指定してあげればいい。

443:nobodyさん
07/03/10 21:11:53 rptarxeP
>>442
ありがとうございます

444:nobodyさん
07/03/12 10:14:10 Tq9b3HEy
VWD2005 Expressで携帯電話用Webアプリを作りたいのですが、プロジェクトの新規作成に「ASP.NET モバイル Web アプリケーション」というテンプレートがありません。
テンプレートのダウンロードでも出てきません。
Expressで携帯用のWebアプリは難しいのでしょうか?
携帯電話用の数字入力専用のテキストボックスを作りたいだけなのですが。。

445:344
07/03/12 11:15:02
>>444
Expressでモバイル開発に対応してるかどうかわからないけど、
新しいWebサイトでASPのサイトを作成すると、その中で作成できる
ページ(項目)の一つとしてモバイルWebフォームってのがある。
プロジェクト右クリの新しい項目の追加ってところ。

最近の携帯のコンテンツをいじっていないのでわからないけども、
>携帯電話用の数字入力専用のテキストボックスを作りたいだけなのですが。。
だったら、普通にPC用のフォームでテキストボックスを配置するだけで
十分いけるような気がする。

446:nobodyさん
07/03/12 12:51:48 Tq9b3HEy
>>445
>ページ(項目)の一つとしてモバイルWebフォームってのがある。
ありました。ありがとうございます。

>だったら、普通にPC用のフォームでテキストボックスを配置するだけで
>十分いけるような気がする。
だめでした。
htmlでi-modeの数字入力専用フォームにするには、タグにistyleを書けば
いいだけなんですが、これを書くとaspxではエラーになってしまいます。

447:nobodyさん
07/03/12 15:11:12
スタイル属性の中に記述した?
ジャバスクリプトを使ったりしてない?
aspxのソースビューで赤下線が出てるだけなら
気にしなくて良い筈


448:nobodyさん
07/03/12 19:56:00 HwSOjhk2
>>447
スタイルの中に記述はしてませんでした。
style = "istyle:4;"
にしてみたら赤下線が出ているだけになりビルドは通るようになったの
ですが、いざi-modeからアクセスしてみても有効になりませんでした。
また、
URLリンク(detail.chiebukuro.yahoo.co.jp)
という記述を見かけたので、
<!DOCTYPE・・・をVWDの作ったデフォルトからdocomoのページ
URLリンク(www.nttdocomo.co.jp)
に張り替えても見たのですが。。

449:nobodyさん
07/03/14 11:03:18 iwHc3wEr
dr = con.ExecuteReader(CommandBehavior.SingleRow)
を実行した場合、レコード数を求めるにはどうすればよいでしょうか?
お願いします。


450:nobodyさん
07/03/14 11:38:38
dr、conの型も書かずに質問か
エスパーよろしく

451:449
07/03/14 16:43:33 iwHc3wEr
>>450
Dim con As New OleDbCommand()
Dim dr As OleDbDataReader
です。
お長居します。

452:344
07/03/14 21:27:30
>>451
できません
URLリンク(support.microsoft.com)

事前に行数が知りたいというのはページング処理等のためかな?
ならクエリにCount(*)列を一つ作って、カーソルが1行目にあるときに取得してから
ループすればいいかと。
というか、DataReaderじゃなくてDataSetでもいいのではないかと。

453:nobodyさん
07/03/15 11:37:51 cckvoMxV
SQLServerに接続してます。
元々入っているあるフィールドの値をNULLに変更したいんですが
どうすれば出来るのでしょうか?

454:nobodyさん
07/03/15 11:58:27
変更したいフィールドにアクセス
カラムの値をDBNull.Valueにすればおk

455:sage
07/03/15 14:04:11 cckvoMxV
>>454
できました!ありがとです。

456:nobodyさん
07/03/15 14:18:14
Timerコントロールが動きません。
Elapsedイベントが反応してくれません。
エラーは出ないんですけど・・・
どうやったら動くようになるのでしょうか?

457:344
07/03/15 14:29:13
>>456
asp.netはサーバサイドスクリプトなので、Timerでイベントを発生させることはできないよ。
やるとしたらASP.NET 2.0 AJAXのタイマーコンポーネントを使うか、
メタタグやJavaScriptでブラウザを操作して定期的にブラウザの再読込をするかしかない。

458:nobodyさん
07/03/16 14:31:21 IKGGblEf
session変数に複数の値を格納することはできないのでしょうか?
配列のように使いたいんですが・・

459:458
07/03/16 14:41:38
すみません、自己解決しました。

460:nobodyさん
07/03/16 14:45:36
単純にセッションに値を入れる時に
Session["Hoge"]=value1+","+value2+","+value3;
とかにしておいて値を取り出す時にSplit(゙,゙)で配列にしてやれば?

461:344
07/03/16 15:04:00
>>460
ていうかSessionはobjectを格納できるから( ´ー`)

462:460
07/03/16 15:24:23
オブジェクト格納できたのか…
俺も勉強になりました。
ありがとう

463:nobodyさん
07/03/17 04:47:25
ASP.NETのエラーメッセージが、開発環境は日本語なのに
.NETフレームワークとランゲージパックを入れたサーバのほうでは英語で表示されるわけだが
サーバのほうでも日本語で表示する方法はあるのかの?

464:344
07/03/17 18:32:06
>>463
上にもあるけど地域の言語のオプションとか、鯖そのものの言語設定や
地域設定は確認してみたの?

465:nobodyさん
07/03/17 23:09:28
sessionは大概入れられるが、シリアライズできないものは入れない方がいいいいのじゃ 
ってじっちゃが言ってた。


466:nobodyさん
07/03/17 23:30:55
ユーザーコントロールについて質問です(ASP.NET1.1)
ユーザーコントロール上のドロップダウンリストで選択された値を親のページのテキストボックスにセットしたいのですが、
この場合どうやればよいのでしょう?
親ページ→ユーザーコントロールはできるのですがユーザーコントロール→親ページができなくて・・・


467:344
07/03/18 00:32:27
>>465
そうなの?sessionで格納できるのがobjectである以上、そこら辺は保証
されてるような気がするけど。
文字としてhtmlに埋め込むviewstateもobjectを格納できるし。

IXmlSerializableについてはあまり詳しくないのでアレだけど、
IXmlSerializableインターフェースを継承すれば、基本的にどんなclassでも
シリアライズできるんでないの?

objectを格納できないソースがあったら教えてください。




468:344
07/03/18 00:55:18
>>466
ユーザコントロールの場合、ユーザコントロールのデザイナ画面で配置した
コントロールは、ユーザコントロールを作成するclassにおいてpublicとして
配置されないので、
public partial class [aspxName] : System.Web.UI.Page
からは継承の関係上、直接的に配置したコントロールから閲覧することができません。

ユーザーコントロール→親ページへのメッセージの受け渡し方法が不明だけど、

1)ユーザコントロール上でDropDownLisrtをpublicなプロパティとして公開する
2)ユーザコントロールに、ユーザコントロールのイベント発生時に親ページの
プロシージャを呼び出せるようにデリゲートを実装する。

のいずれかになると思います。
1)では、何らかのイベント発生時にDropDownListのSelectedValueあたりを取得します。
2)では、ユーザコントロール上でDropDownList.Onchangeイベント等を取得したら、
そのままユーザコントロール上に設定したデリゲートを(=親ページの任意のプロシージャ)
を呼び出すようにします。

たぶんこんな感じになると思います。

469:nobodyさん
07/03/18 01:35:04
>467
InProc以外のセッションモードではプリミティヴ型かシリアライズ可能なものに限られる。
ViewStateだってそうだろ。
実際にやってみるなりMSDNでも見てくれ。

470:nobodyさん
07/03/18 01:48:01
既定でInProcだから設定変えんことには試しようがないよな。
このあたり見てくれ。
URLリンク(msdn2.microsoft.com)(VS.80).aspx

471:344
07/03/18 02:38:32
>>469
だからXmlSerializerで事実上はどんなクラスもシリアライズ
できるんでないのって話。

472:344
07/03/18 02:48:41
>>469
詳しくみてみたが、InProcならobject格納できるんじゃん(*゚ー゚)

473:nobodyさん
07/03/18 13:18:17 JZdDpOFH
Dim cn As New OleDbConnection
Dim da As OleDbDataAdapter
Dim ds As New DataSet

Try
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\test.mdb"
da = New OleDbDataAdapter("SELECT * FROM tbl;", cn)
da.Fill(ds, "tbl")
cn.Open()
Me.lebel1.Text = ds("text1") ここと
Me.label2.Text = ds("text2") ここのdsでエラーが出てるようです。
Catch ex As Exception
'エラー処理
End Try
ds.Dispose()
da.Dispose()
cn.Dispose()

このソース実行で、
system.data.dataset には既定のプロパティがないため、インデックス処理ができません。
とか言うエラーが出たのですが、どうすればよいでしょうか?
よろしくお願いします。


474:nobodyさん
07/03/18 15:13:09
>>473
>Me.lebel1.Text = ds("text1")
ここの表現に激しく違和感
一瞬VB6以前のコードを見ているかと思った

475:nobodyさん
07/03/18 15:35:28 JZdDpOFH
>>474
最近VB6から移行したので。
この場合、どのように書けばよいでしょうか?
お願いします。

476:nobodyさん
07/03/18 15:35:32
>>473
「.NET 既定のプロパティ」とかでググれ。
"text1"って列名なんだろうけどそのまえにどのDataTableのどの行かの指定がなきゃどうしようもない

477:nobodyさん
07/03/18 15:52:10
>>475
ネットにゴロゴロ転がってるサンプル見れ
VB6とは全然違う

478:nobodyさん
07/03/18 17:19:36 JZdDpOFH
>>475
DataReaderでは、dr("text1")と言う風に書いてますが
Datasetはまた違うのでしょうか?

479:nobodyさん
07/03/18 18:49:28
>>478
アドバイス無視して質問ってかなり失礼だと思う。

アドバイス見ても解んなかったらかなり向いてないと思う。。。

480:nobodyさん
07/03/19 11:29:44
そもそも趣味サイト以外でInProcは・・・

「InProc」でぐぐって一番上のサイトでもわかるように。



481:nobodyさん
07/03/21 13:26:04 3i8vjnb6
asp:LinkButtonを押して呼び出されたページで、
どのリンクボタンで呼び出されたかボタン名を
知るにはどの様に書けばよいのでしょうか?
よろしくお願いします。

482:nobodyさん
07/03/21 22:34:06 MYne4eNP
スプリッタで領域を可変にするには何を使えばよいのでしょうか?

ヘッダ
-------
左|右(メイン)
-------
フッタ
左と右(メイン)の領域を動かせるようにしたい。

483:nobodyさん
07/03/22 01:08:11 phUZb8Bf
Winアプリなら余裕だけど
ASPだとWebパーツとかつかうんじゃね?
たぶん

484:nobodyさん
07/03/23 08:35:20
>>478
データセットがデータリーダーと同じ使い方できるなんて初めてきいた

485:nobodyさん
07/03/23 17:42:16 hGN3JWyt
はじめまして
環境は IE7 VS2005 WinXPSP2 SQLServer2005 です。
ASPのサイトを部分部分でASP.NETに移行しています。
ページAからJScriptの関数でHIDDENに値を設定したのちページBにsubmitすると
RequestがNothingになってしまい、ページAのFormに「runat="Server"」を指定
したら以下のエラーが出てしまいました。
>viewstate MAC の検証フィールドです。
>このアプリケーションが Web Farm またはクラスタによってホストされている場合、
><machineKey> 構成が同一の validationKey および検証アルゴリズムを指定していることを確認してください。
>AutoGenerate をクラスタで使用することはできません。
対処法を教えていただけませんか?
よろしくお願いします。

486:nobodyさん
07/03/24 03:42:37 bV7pw1D8
接続してきた相手のIPは取得できるんだけど
MACアドレスを取得する方法ないかの~

487:nobodyさん
07/03/24 08:53:26 ra4BhRNo
1つのサイトにDefault2.Master見たいな感じで
複数のmasterpageを使うことは出来るのでしょうか?

試しにやってみましたが、LabelxxxはDefault2.Masterのメンバーではありません。
見たいなエラーが出ました。
助けてください。

488:nobodyさん
07/03/24 15:58:43 bHy9WQAt
487だけど、出来たからいいです

489:nobodyさん
07/03/24 18:10:34 XDdUknzS
技術評論社から出ている
「プロが作った!すぐ使える!
ASP.NET2.0
実践サンプル集」
と言う本を買ってサンプルを開いたら、パーサーエラーの連続で
話にならないのですが、これは無料のVWD2005 ExpressEdition用だから
SV2005では使えないのでしょうか?

490:nobodyさん
07/03/25 23:32:33
どういうコードと環境でこうしたい、こんなエラーが出るってのなら
推測もアドバイスも出来るけど、、、

それだと、「出版社に聞けば?」ぐらいしか言えんがな(´・ω・`)

491:nobodyさん
07/03/26 07:14:47
>>489
その本持ってますが、web.configにあれこれ宣言されているからのようです。
エラーの出る行をコメントアウトしていけば動くようになるですよ。


492:nobodyさん
07/03/26 09:27:11
>>485
ページAとBはどちらもASP.NET?
そのエラーは__EVENTVALIDATIONがうまく渡っていないときにでるね。

493:489
07/03/26 17:14:33 b88DcWi3
>>491
ありがとうございます。
やってみます。

494:489
07/03/26 22:04:59 zmM8Lysd
>>491
この本のch11でエラーの出ているweb.configをコメントアウトしてみたところ
以下の操作はサポートされています。正式な定義に関しては、~~
という画面になり、実行できませんでした。
どのようにすれば動くようになるのでしょうか。
よろしくお願いします。

495:489
07/03/26 22:27:51 zmM8Lysd
すみません、本をよく読んだら最初の部分は出来ました。
が、atlas~~のコントロールが「表示できません」となってしまいます。
追加のコンポーネントが必要なのでしょうか?
よろしくお願いします。

496:nobodyさん
07/03/26 22:33:46
Atlasはベータ版のライブラリだから、もうやめたら?
正規のAjaxフレームワークをつかいなよ。


497:489
07/03/26 22:52:45 zmM8Lysd
>>496
これでよろしいでしょうか?
URLリンク(ajax.asp.net)

この場合、ソースコードの<atlas:を何に変えれば良いでしょうか?

498:nobodyさん
07/03/27 06:48:50
>>497
合ってる。タグは"<asp:"。
その本がどの程度Atlasコントロール使ってるか知らないけど
"<asp:UpdatePanel~"とか"<asp:ScriptManager~"とか。

499:497
07/03/27 22:22:13 kydgdnGV
>>498
ありがとうございます。


500:nobodyさん
07/03/28 10:42:11


501:497
07/03/28 12:32:31 dMYUDzOF
atlasタグをasp:に変えて実行したところ、下記エラーが出てしまいました。
ちなみにこの開発マシンには、atlasとAJAXの両方が入ってます。

エラー ファイルまたはアセンブリ 'Microsoft.Web.Atlas'、またはその依存関係の 1 つが読み込めませんでした。
指定されたファイルが見つかりません。

502:nobodyさん
07/03/28 13:22:05
DLLの参照が足りてない感じだね。


503:497
07/03/28 16:09:07 m8YLBux/
>>502
DLLの参照は、どのようにすればよいでしょうか。
お願いします。

504:nobodyさん
07/03/28 16:23:21
DLLの参照が足りないというより、
atlasからajaxへの書換えに失敗しているのでは。

プロジェクト全体をatlasという文字で検索してみたら?

505:nobodyさん
07/03/28 19:57:39
ASP.NETをJAVAアプレットのようなもとかと勘違いしていた俺がきましたよ
.netもJAVAアプレットみたいなのがおけるようにならんかな

506:nobodyさん
07/03/28 21:19:05
Javaだってさ、プ)っ

507:nobodyさん
07/03/28 23:02:57 H2LX4t8O
むしろ重要なところは「アプレット」なわけだが。

508:nobodyさん
07/03/29 03:39:05 PO5WDGp2
XMLdocumentクラスを使ってXHTMLファイルを読み込んで
動的にselectタグselected属性を付けたりしたいんですが
どうしてやればいいんでしょうか?
イマイチXPathが良く分からないので分かりやすく説明している
URLがあるなら誘導お願いします…

509:nobodyさん
07/03/29 11:00:46
>>508
SelectNodesとかで指定してCreateTextElementとかで作ったノードをAppendして
DocをWriteToで書き出せばOK


510:nobodyさん
07/03/29 13:24:33
>505
WPF/Eのことか?

511:nobodyさん
07/03/29 15:10:46
>>505
マネージコントロールにすればできるじゃない
URLリンク(ja.gotdotnet.com)

512:nobodyさん
07/03/29 19:27:51 8uO4JYhJ
>>511
なんかよくわからんが
相手側にフレムワクが入ってれば
Windowsフォームをブラウザで起動させることができるってことか?

513:nobodyさん
07/03/29 20:52:05 41v7jcma
フレームワーク2.0で作ったサイトをフレームワーク1.0の鯖に上げたら
エラーになりました。
当然でしょうか?

514:nobodyさん
07/03/29 22:15:15
基本です
2.0と1.0は別物と考えたら幸せになれます

515:nobodyさん
07/03/31 16:51:08
プレステ2向けのゲームをプレステに入れても動きませんでした

と一緒

516:nobodyさん
07/03/31 21:36:11
Loginコントロールでログイン画面を作っています。
入力されたパスワードをサーバーに送信するとき
暗号化したいのですが、SSLしか方法はないですか?
たとえば、Javascriptで暗号化してもいいものなのでしょうか?
javascriptはコードが見えてしまうので…。
達人の皆様、どうかご教授くださいm(__)m

517:nobodyさん
07/03/31 22:40:54 FprosiQM
gridviewとObjectDataSourceをバインドした時のパラメータ周りの落とし穴について

1.GridViewの列の設定でvisibleがfalseになっている

2.original_変数名という余計な変数が渡されるために関数が見つからないエラー

ObjectDataSource.ConflictDetectionプロパティをOverwriteChangesにセットすれば
いいはずが、ObjectDataSource.OldValuesParameterFormatString の「original_{0}」
を「{0}」にする。さらにすべて消して一度ビルドしてから「{0}」にすると治ったり。

URLリンク(geekswithblogs.net)

3.あとから追加したプロパティやフィールドの値だけがObjectDataSourceの各コマンド
オブジェクトに指定したデータオブジェクトに渡されずnothingか0になっている。
他の引数は正常。

1と2を乗り越えたらこんどは3でした。
GridViewをデザインしながらクラッシュアンドビルドでストアド書き直したりして
ObjectDataSourceやデータオブジェクトをいじっていると、どうもコードビルダーや
ウィザードあたりに古い設定が残ったままになってるっぽいですね。

さて、キャッシュ消して再起動してみます。
3について経験のある方、解決方法を知っている方、キャッシュ消してもダメだったら
どうか情報をお願いします。

518:nobodyさん
07/03/31 22:51:16
>>516
ハッシュ関数を使えば、使ってるハッシュ関数と暗号化されたデータがわかっても
元の値はわからない・・・と教えられました。
最近は必ずしもそうでもないでようですから使う関数は選ぶのがよいようです。
URLリンク(blog.ohgaki.net)

もっとも、そのsha512を使おうと元のパスワードが簡単だと、sha512で自動生成した
辞書でマッチしてしまうのでNGですね。2chのトリップとおんなじ。

519:nobodyさん
07/03/31 23:01:40
>>517
ダメ、でした。orz

さらにDeleteコマンドにも設定した覚えのない引数が余分に渡されています。
どうもインデックスキーやソートキーに指定されるフィールドが
余分になったり渡せなかったりしている感じです。

とりあえず泣きながら寝ます。

520:nobodyさん
07/04/01 11:27:14
>>517
解決しました。

GridViewのプロパティ
DataKeyNameに設定されたフィールドは
GridViewのvisibleがFalseでも、
それどころかフィールド列が追加されてなくても、
コマンドフィールドとして追加されたコマンドボタン(削除・編集更新キャンセル)では、
強制的に引数として追加されてしまうようですね。
初歩的な仕様だったかも知れないです。

また、ObjectDataSourceのコマンドパラメータにDataKeyNameに登録されたフィールドで
データが取得できない不具合に見舞われることがあります。

対策としてはコマンドパラメータをすべて削除、DataKeyNameに正しいキーフィールドだけ
設定、あらためてコマンドパラメータを正しく設定。で、治りました。

これはGridViewとObjectDataSourceを追加削除フィールドの変更など繰返していると
発生するようです。

521:nobodyさん
07/04/01 19:42:23
>>518
ありがとうございます。

基本的にはSSLだと思うのですが、
SSLに頼らないでできないものかと思いまして。

522:nobodyさん
07/04/02 00:41:59
>>521
ただハッシュ関数だと復号できないですからね。
受け側もハッシュコードを保存していてそれで比較しますよね。
パスワードの意味はわからないけど、ハッシュ値をそのまま盗まれ
てPOSTされたらログインできなくはないです。
それなりのツールがあれば。
なので、やっぱり万全を期すならSSLが正解でしょう。
ブログのログイン程度ならハッシュで十分だと思うし。
SSL使ってませんよね。

523:nobodyさん
07/04/03 19:57:42 XOrq89tB
VS2005とアトラスで作ったサイトを現行AJAXで動かすには
どのように変更すればよいでしょうか?

524:nobodyさん
07/04/03 23:01:28
現行AJAXって初めてきいた

525:nobodyさん
07/04/05 20:39:34 pMCpj/nq
.net framework 2.0を停止して framework 1.1を有効にするにはどうすればいいでしょうか?
急にframework1.1環境のサイトを造らなければならなくなりました。
よろしくお願いします。

526:nobodyさん
07/04/05 21:02:13
両方の環境が入っていれば、1.1用アプリは1.1で動くが・・・

527:nobodyさん
07/04/05 21:50:24 pMCpj/nq
てゆうか、2.0が入ってれば2.0のほうが優先されるけど
1.1しか入ってないサーバで動くサイトを作りたいんだが

528:nobodyさん
07/04/05 22:23:57
VS2005で1.1用サイトを作りたいってことなら無理

529:nobodyさん
07/04/05 22:36:59
既に1.1環境用のフリーソフトって廃止になったんだっけ?
ウェブマトリクスとかそんな名前のやつ。
もし急場凌ぎでも1.1用サイトを作成しなければならないなら使えると思うが。

530:nobodyさん
07/04/05 22:46:01
2.0上でpdfファイルを吐けるサーバーコントロールの扱いやすいのってありますか?
ページを直接プリントする代わりにpdfを吐いて、そのファイルをブラウザで開いて印刷、
みたいな用途に使いたいのですが。


531:nobodyさん
07/04/06 00:25:08
>>527
情報を小出しにすんな
URLリンク(msdn2.microsoft.com)(VS.80).aspx

>>530
CrystalReportかActiveReportがいいんじゃね

532:nobodyさん
07/04/07 22:56:30 rFvkM9fc
コンフィグ項目がかなり多いアプリを作っていて、カスタムセクションハンドラを実装して設定を
ハンドリングしているのですが、余計な項目がWeb.configに記入されてしまい困っています。
こういう場合、お作法的にどのような方法をとればよいでしょうか?
それと、別の.NETプログラムからWeb.configの値をプログラム上からプロパティのような形で変更することは可能でしょうか?

システム構成によって、使用不可能なセクションをまったく表示しないようにしたいのですが・・

533:nobodyさん
07/04/08 03:34:00 EVMLEL7f
ASP.NETのWEBフォームで、明示的にJavaScriptを使用しない方法ってありますか?
あったらご教授願います。
よろしくおねがいします。

534:nobodyさん
07/04/08 10:55:27 QKrXdLid
URLリンク(www.friendlysw.com)
ここのサイトでこのような記述があったので、アトラスで作ったサイトをAJAX1.0環境で動かすため
下記3つをインストールしましたが、atlasのところでエラーになりました。
インストール後の設定はどの様にすればよいでしょうか?
よろしくお願いします。

ASP.NET AJAX v1.0 RTM(製品版)がリリースされまし た!
ASP.NET 2.0 "AJAX" v1.0 RTMがリリースされました。
RTM版では"Atlas CTP"のすべてのサーバーコントロールがサポートされていません。
Atlas CTPと同等機能が必要なときはAJAX January CTPもインストールします。
同様に、"Atlas Control Toolkit"の機能が必要なときは AJAX Control Toolkitをインストールします。

535:nobodyさん
07/04/08 11:32:56
ボタンコントロールのIDには、日本語は使えないの?
(´・ω・`)

536:nobodyさん
07/04/08 12:18:53
プログラムで日本語って。

537:nobodyさん
07/04/10 14:54:56
ASP.NETを使い、Accessらデータを引っ張ってくる練習用プログラムを組んでいるんですが、
データロード中に、「検索中です」等のGIFアニメを表示することはできるでしょうか?

ボタンを押したらImageコントロールのVisibleをtrueにして、受信が終わったら
trueにする、という方法で実装できないか、と考えているんですが、そのタイミングが
見つかりません。。。

538:nobodyさん
07/04/10 17:56:02
クライアント/サーバの区別がつかないゆとり世代がもう迫って来てるんだな・・・

539:nobodyさん
07/04/11 00:06:00
>537
JavaScriptでImageを表示して、PostBackしたら消しせば。


540:nobodyさん
07/04/11 11:09:27
>>534
RTM CTP Toolkit、全部AJAXをインストールして、Atlasはインストしちゃいけないのでは?

>>535


>>537
以下は可能かどうかわからんけど、アイデアとして。

aspはデフォでhtmlを全部作成してから一気にブラウザに送信させるんだけど、
htmlを作成(レンダリング)するたびにブラウザに送信するように変更できたはず。

そう設定して画面上部に画像を表示しておいてから、accessデータの表示や、
重い処理を行わせるようにする。
んで、JavaScriptのbodyタグのOnLoadイベント発生時に、
表示している画像を消すということをすれば、擬似的に可能かもしれん。

まぁ、一番簡単な方法としては、AJAXのUpdateProgressを使うことじゃないかと思う。

541:nobodyさん
07/04/11 20:05:13 ofhJt7wg
Webconfigに
<globalization requestEncoding="shift_jis" responseEncoding="shift_jis" />
を追加すると確かにリクエスト・レスポンスともシフトジスになるけど
これだけWebconfigのあるフォルダ内のすべてのaspxが影響をうけてしまう
同一フォルダ内のある特定のページだけをシフトジスにする方法はないでつか?

542:nobodyさん
07/04/11 20:21:20
>>541
その画面のpageディレクティブでCodePageかResponseEncodingあたりの設定をしてみたらどうかね
おれはやったことないが

543:640
07/04/12 17:33:27 +yX9qbQy
GridViewにユーザーコントロールを埋め込みたいんですが
データバインドの方法がいまいちわかりません。

例えばユーザーコントロールにPublic Propertyを宣言して
ここにデータをバインド、PreRenderイベントでユーザー
コントロール内を動的に生成したいのですが
まずGridViewのフィールドのデータバインドを設定する
ウィザード?にユーザーコントロールのPropertyが
表示されません。

まだGridViewへのデータバインドは解決してない
(テーブルがまだ決まってない)のですが、それが
原因でしょうか?

なるべく歩きやすい道を教えてくださいお願いします。

544:nobodyさん
07/04/12 17:47:42
>>543
GridViewは使わないので外してたらすまん。

・DataBndするデータがネストされた子データ
デザイナでユーザコントロールに
DataSource='<%# thisGetChildData(Container.DataItem)%>'みたいに記述して、
protected rows[] GetChildData(Object dataItem)のメソッド内で
DataItemからDataRowを取得して、GetChildRowでRow[]を返せばよろし

・まったく関係ないデータ
ユーザコントロール内でデータを取得してバインドしちゃえば?

というか素直にRepeaterを使った方がいい気がする。



545:nobodyさん
07/04/12 22:15:58
>>544
ありがとうございます。まさにネストされた子データを表示したかったんです。

Repeaterを使うべきかなーとは思っていたんですが、2005は使い慣れてなくて
便利な機能が増えてるので知らないで苦労したら損と思い、スマートタグに
表示されるデータバインドで解決しようとよけいな苦労をしてしまいました。
おかげさまですっきりしました。

546:nobodyさん
07/04/13 01:24:33 F/O/biBk
511のサイトがわかりにくいんだが、
もっと簡単に説明してるページとかない?

547:nobodyさん
07/04/13 14:44:57
>>546
URLリンク(japan.internet.com)

548:nobodyさん
07/04/13 15:24:06
xmlDocumentクラスのばーやばーや
xmlが分からないと使えないなんて面倒くさいんだよ!!
…もうだめぽ…

549:nobodyさん
07/04/13 19:18:02
ASP.NET 2.0 VIsualStudio2005 C#でWebuserControlを作ってるんだが、
イベント作成してもイベントインスペクタ(?)に作ったイベントが表示されない(´Д⊂グスン

いちおうclass内でpublic event EventHandler PageLoadedと定義してるんだけどうまくいかん。
ちなみにWindowsFormでユーザコントロール作るとちゃんと表示されるんだけど、
なんでWebユーザコントロールだとだめなんだろう・・。

誰かしってる人がいたら教えてください。・゚・(ノД`)・゚・。 うえええん

550:nobodyさん
07/04/14 11:13:15 gbSM0vt5
VS2003って使い勝手悪いな・・・
2005使いたいけど仕事では2003じゃないと駄目なんだ・・・
オワタ・・・

551:nobodyさん
07/04/14 14:41:22
弘法筆を選ばず

552:nobodyさん
07/04/14 14:46:25
>>551
俺が悪いって事か・・・orz

553:nobodyさん
07/04/14 15:47:59
>550
Vista対応を名目に2005に移行を促すのも手だと思うよ。
Vista上で1.1でもだいたいはそのまま動くからそれほど強く言えないけど。

554:nobodyさん
07/04/14 16:29:19
新卒が同じようなこと言ってたな
まだ2003使ってるんですか?って。

555:nobodyさん
07/04/14 17:22:34 bTaKBGMC
2003も出た当時はアレだったんだが
2005と比べるとインテリセンスが微妙だしクリックワンコもついてないし
でも2003ならSp2で1.1入れてるやつ多いだろうから配布のときらくだ

556:nobodyさん
07/04/14 17:24:19 bTaKBGMC
>>547
とんくす。
スンゲーわかりやすい

557:nobodyさん
07/04/14 17:46:52
545です。
再び困りました。

型指定付きのDataSetにストアドの結果2つを追加してリレーションシップを設定しました。
で、ネストしたRepeaterに
<asp:Repeater ID="Repeater2" runat="server" datasource='<%# Ctype(Container.Dataitem,DataRowView).CreateChildView("UserPageURLs_UserPageLinkList")%>'>
としてコードビハインドで

Dim ds As New DSUserPages
Dim ta As New DSUserPagesTableAdapters.UserPageURLsTableAdapter
Dim dt As New DSUserPages.UserPageURLsDataTable
ta.Fill(dt, Session("UID"), CType("9999/12/31", DateTime))
ds.Tables.Add(dt)
Repeater1.DataSource = dt
Repeater1.DataBind()
Dim dt2 As New DSUserPages.UserPageLinkListDataTable
Dim ta2 As New DSUserPagesTableAdapters.UserPageLinkListTableAdapter
ta2.Fill(dt2, Session("UID"))
ds.Tables.Add(dt2)

こんなことやってますが、リレーションシップがこの DataView がポイントするテーブルの親になっていません
というエラーが出ます。
ネスト部分を消すとRepeater1は正常にデータを表示できます。
リレーションやキーの設定は間違ってないと思うのですが、どういうことでしょうか?
こんなエラーはよっぽどの間抜けらしくヘルプでも項目が見つからないのです。

558:nobodyさん
07/04/14 18:17:50
>>557
追記。

ここでもエラーが出てました。
>ta2.Fill(dt2, Session("UID"))
追加しようとしたテーブルがインデックス違反をしているそうです。
これが原因かもしれません。

559:344
07/04/14 19:34:32
>>557
544です。
VisualStudioで、型指定付きのDataSetのxsdを作成してるのかな?
んで、そのデザイナ画面上でリレーショナルを設定しているということかな?

なら、そのDataTableの使い方がおかしい。
DataSetのインスタンスを生成した時点で、そのメンバであるDataTableも
作成されているので、別途DataTableのインスタンスを生成して、データセットに
addしなくてもいいはず。

必要な宣言は、
DSUserPages ds = new DSUserPages();
DSUserPagesTableAfapters.UserPaggeURLsTableAdapter dt = new .....
DSUserPagesTableAdapters.UserPageLinkListTableAdapter ta2 = new ....
だけ。

DataSetに取得したデータを入れるには
dt.fill(ds.UserPageURLsDataTable)
dt2.fill(ds.UserPageLinkListDataTable)
でok。

別途DataTableを作ってAddしてるのがまずおかしいので、そこから
直してみたほうがいいかもしれない。

それから、コレは好みで、今回のエラーとは関係ないけど、
リレーショナルを設定してるDataSetの場合、まず必要なDataTableを
すべてFillしてからRepeaterとかにBindしたほうがいい。
すべてFillする前に何らかの処理をしようとすると外部キー制約とかで
不注意にエラーになることがあるので、まず完全にDataSetを作ってから
Bindするなり操作する癖をつけたほうがいいよ。


560:nobodyさん
07/04/15 00:33:57
わたしもそう思ったんですが
Dim ds As New DSUserPages
Dim ta As New DSUserPagesTableAdapters.UserPageURLsTableAdapter
      (ここでパラメータの処理)
ta.Fill(ds.UserPageURLsDataTable)
ところがここで「ds.UserPageURLsDataTableは型です。式として使用することはできません。」
と言われてしまうんですね。なので型指定付きのxsdはスキーマ情報しか持ってないのか
と思ってインスタンスのDataTableをAddしてたんです。
するとコンパイラは通るのですが、上記エラーが出るんです。

DSUserPages.Designer.vbの中を確認すると
Private Sub InitClass()
・・・
Me.tableUserPageURLs = New UserPageURLsDataTable
MyBase.Tables.Add(Me.tableUserPageURLs)
Me.tableUserPageLinkList = New UserPageLinkListDataTable
MyBase.Tables.Add(Me.tableUserPageLinkList)
Me.relationUserPageURLs_UserPageLinkList = New System.Data.DataRelation _
("UserPageURLs_UserPageLinkList", New System.Data.DataColumn() _
{Me.tableUserPageURLs.UserIdColumn, Me.tableUserPageURLs.URLIDColumn}, _
New System.Data.DataColumn() {Me.tableUserPageLinkList.UserIdColumn, Me.tableUserPageLinkList.URLIDColumn}, false)
Me.Relations.Add(Me.relationUserPageURLs_UserPageLinkList)
End Sub
となっており、仰るとおりにテーブルのインスタンスを作成してるのです。

もうわけがわかりません。w


561:nobodyさん
07/04/15 00:40:21
なんでVBばっかりなんだ?
C#でやってるやつはいないの?

562:nobodyさん
07/04/15 03:25:33
ノシ
確かに検索で出てくるページもVBが多いよね
お陰でVBも読むことは出来るようになってきたw

563:nobodyさん
07/04/15 11:49:38
>>560
追記。
URLリンク(www.microsoft.com)
Public Function GetDepartments()As DsAdv
Dim ds As New DsAdv()
Dim adapter As New DsAdvTableAdapters.DepartmentTableAdapter()
adapter.Fill(ds.Department)
Return ds
End Function

やはりMS様もこれでいいと仰ってます。
DataSetのテーブルかなんかの設定で間違ってるのかなぁ?

564:nobodyさん
07/04/15 12:41:58
>>560
自己レスです。解決しました。
ta.Fill(ds.UserPageURLs,パラメータ,パラメータ)
でコンパイラが通りました。
UserPageURLsがテーブル名でした。
UserPageURLsDataTableはテーブルの型を定義するプロパティだったんですね。orz
オートコンプリートに表示される候補のDataTableという名前で完全に勘違いしてしまいました。

565:nobodyさん
07/04/15 13:18:08
え・・・まさかヘルプも読まないで質問・・・

566:nobodyさん
07/04/15 17:11:09
>>561
俺もC#
VBも書けるけど、なぜかC#で書いてるな。


567:nobodyさん
07/04/16 14:01:35 AFy90HQV
VS2005,C#でSQL2000から2個のテーブルをデータセットに読み込んで
そのテーブルを比較して整合性を取りたいと考えています。
テーブルの内容はAテーブルには日付フィールドと仕事の予定フィールド
Bテーブルには日付フィールドと休日の予定フィールドが入っています。
(A・Bの日付が被る事はありません)
このABテーブルをAテーブルに纏めたいのです。
Bテーブルは終業時、同様の処理をしてバックアップ代わりにします。
普通に考えてBテーブルの全てのROWの日付でAテーブルをセレクトし
てBテーブルに存在しなければROWを追加してやれば良さそうに思うのですが
頻繁に行う事が予想されるので出来るだけ不可の少ない処理で
済ませたいのですが妙案はないでしょうか?

568:nobodyさん
07/04/16 18:58:56 5T51gVIn
漏れもVB
コード変換ソフトとかあるし
VBでもC#でも問題ないんだが

569:nobodyさん
07/04/16 20:49:06 68o6OWMk
>>568
c#で書いたのをVBに変換するのってあるでしょうか?

570:nobodyさん
07/04/16 22:40:18
>>569
C#VB 変換 でググれ
基本だろ

571:nobodyさん
07/04/16 22:48:59
J#使う人って稀?

572:nobodyさん
07/04/16 22:52:02
>>567
AとBの日付が絶対にかぶらないならSelectしたBをそのまま
Insertすればいいんでないの?
も負荷を小さくするならストアドをかな。

もしくはAとBをUnionしたものをビューに登録。
さらにAテーブルをRIGHT OUTER JOINして、追加したフィールドが
nullのものだけをWHEREで切り取る。
そうすればAになくてBにあるものだけが抽出できる。

つかそのままAとBをunionしたビューをそのまま使い続けて、
新しいテーブルに、そのビューの内容をコピーしたほうが
簡単な気がする。

573:nobodyさん
07/04/17 19:45:43 OYnOoGtS
>>571
稀だろ
つか使ってる奴みたことねぇ
J#つかうならJavaのほうがいいような気がしなくもない

574:nobodyさん
07/04/17 22:11:02
Visual Web Developer 2005 Express Edition って
M$のサイトからダウンロードできるのと店で売ってるのと
何が違うんでしょうか??

575:344
07/04/17 22:22:37
>>574
本当は期間限定での無償ダウンロードで、その名残。
違いはオリジナルのマニュアルが付くところ。

576:574
07/04/17 23:14:46
>>575
ありがとです。
ってことは、機能的に制限があるわけじゃないんですね。。。

(´ε`;)ウーン…VS2003使いとしては微妙だなぁ。。。

577:nobodyさん
07/04/17 23:17:13
VS2003とか使いづらくて使う気になれん
特にVS2005に慣れたら尚更

578:344
07/04/17 23:31:00
>>576
VWDに関しては、でかいことするんでなければ、
普通に業務用にも使えると思うけどなー。

579:574
07/04/17 23:51:38
>>577
そうなんですよ、、VB6からの乗換えでせっかく慣れてきたのにまたかよ('A`)ノ
って感じですわorz...
M$には、中小企業で開発環境が変わることの大変さを知って欲しいですわ。。

>>578
Webの案件は初めてでVS2003で試行錯誤して、「うひゃっ!なんか出来ちゃったwwwww」
って思ったんだけど、、、、ASP.NET 2.0 ( ゚Д゚)イッテヨシ!!
また試行錯誤してみますorz......

580:nobodyさん
07/04/18 06:09:51 +avfGZDm
VS2005でASP.NET Webサイトを含むソリューションでリファクタ機能やすべての参照の検索など使用すると
毎回aspxなどのコンパイル処理みたいなのが走って、すごい時間がかかるんですが
早くする設定などはあるのでしょうか?

581:nobodyさん
07/04/18 14:11:23
>>580
リファクタやなんやらは、すべてのファイルをgrepして調べてるんだから、
すごい時間がかかるのは当たり前。
ファイルの参照設定をちゃんとやったりして可視性を見直すしかないと思う。

582:nobodyさん
07/04/18 23:14:27 +avfGZDm
レスサンクスです。
通常のWindowsアプリケーションとかだとあんまり時間がかからなかったため
何か設定でもあるのか、自分の環境だけなのか知りたくて質問しました。
今のところ、通常のgrepのほうが断然早いのでノイズが入ってしまうのを覚悟で手動で検索しています。

583:nobodyさん
07/04/19 11:10:59
DROPDOWNLISTのLISTITEMの文字列に文字参照で入ってきたとき、そのまま出ちゃうんだけど
(&#hearts;とか)ちゃんとハートマークにして表示って出来ませんか?

584:344
07/04/19 16:23:20
CustomWebControlを作ればいいよ
DropDownListはRenderContentsメソッド内でデータをhtmlencodeして出力しているらしい。
だからRenderContentsを↓のようにOverrideしてhtmlencodeをはずしてあげればいいはず。
public class NonHtmlEncodedDropDownList : System.Web.UI.WebControls.DropDownListを定義して
protected override void RenderContents(HtmlTextWriter output)
{
 int count = Items.Count;ListItem item;bool selected = false;
 for (int i = 0; i < count; i++)
 {
  item = Items[i];
  output.WriteBeginTag("option");
  if (item.Selected)
  {
   output.WriteAttribute("selected", "selected", false);
   selected = true;
  }
  output.WriteAttribute("value", item.Value, true);
  output.Write(">");
  string text = item.Text; ←ここで本当はhtmlencodeされているハズ
  output.Write(text);
  output.WriteEndTag("option");
  output.WriteLine();
 }
 output.Write(Text);
}
this.NonHtmlEncodedDropDownList1_1.Items.Add(new ListItem("♥", "1"))
これでハートが表示されてる。バグってたらスマソ。

585:nobodyさん
07/04/19 17:04:24
>>584
ありがとう、俺VBしかわからないんだけどなんとなくわかったよ!
HtmlTextWriterがなにやってるかを探してencodeしてる部分だけ差し替えればいいんだよね?

586:344
07/04/19 18:02:09
>>585
HtmlTextWriterは単にタグを作成するのに利用してるだけなので、
それそのものを調べても意味がないかも。

実際の(HtmlEncodeして表示している)RenderContentsメソッドを隠蔽して
別途HtmlEncodeしない仕様のメソッドを定義して利用させるってこと。

そのためにDropDownListの継承classを作成して、RenderContentsメソッドを
overrideするメソッドを作る。

ただし、こうするとタグが自由に利用できてしまうので、
使用可能な特殊コードのみHtmlEncodeを通さないようにして、
それ以外は通常通りHtmlEncodeを通すようにしたほうがいいかもね。


587:nobodyさん
07/04/19 18:41:04
>>586
丁寧にありがとう!

>そのためにDropDownListの継承classを作成して、RenderContentsメソッドを
>overrideするメソッドを作る。

これをやってみたんだけど「その型 (test.NonHtmlEncodedDropDownList)はコントロール (System.Web.UI.WebControls.DropDownList) の型と互換性がありません。」
っていわれちゃった…
この作った継承クラスで目的のDROPDOWNLISTを定義してるのが間違ってますか?

588:344
07/04/19 18:48:58
>>587
vb.netの言語仕様に関してはちょっとわからない。
↓を参考にしてみて挑戦してみてください。
URLリンク(www.atmarkit.co.jp)

589:nobodyさん
07/04/19 19:42:43
ありがとう、がんばってみます!

590:nobodyさん
07/04/20 12:16:41 ev1GBwjC
>>580-581
リファクタリングを早くする方法は
スレリンク(tech板:13番)
を参照のこと。

ただそれによって早くなるのは
スレリンク(tech板:40番)
という理由らしいから、使い方はお気をつけて。

591:nobodyさん
07/04/20 13:04:58 B09CNaZo
沖縄県の方へ(命に関わる注意事項です)

沖縄県での選挙ですが、どうか民主党だけは避けてください。県民の生命に関わる可能性があります。
民主党の最大の公約は一国二制度(※)ですが、一度「一国二制度 沖縄 三千万」で検索をお願いします。
この際、民主党のHPで調べても良いです。以下の注釈↓と矛盾することは書いてないはずですから…

※一国二制度
 簡単に言えば沖縄を中国と日本の共有物にし、そこに3000万人の中国人を入植させます。
 (つまり沖縄人口の 96% を中国人にして、実質、沖縄を中国人の居住地とします。)
 さらに「自主」の名の下、沖縄で有事が起きても自衛隊は干渉できません。
 3000万人の中国人が、少数派となった130万人の日本人に何をしても、です。
 そして反日教育を受けた中国人の反日感情の強さは、ほとんどの日本人の理解を超えるものです。

今回の選挙で民主党が勝った場合、「自主」「発展」を連呼しつつ段階的に進めていくことになります。
自主と言っても、自主を認めるのが「住人の96%が中国人となった」後だということに気をつけてください。
発展と言っても、新沖縄の少数派となった「少数民族日本人」の発展ではないことに気をつけてください。

592:582
07/04/21 00:50:22
>>590激しくサンクス
今まで、しょうがないんでWebサイト切り離してリファクタしてました。


593:nobodyさん
07/04/22 00:20:10
経験豊かな方ご教示願います。
ある事情があって先にHogeServerというconnectionStringsを使っていました。
で、ユーザー認証その他の機能を使いたくて以下のように変更しました。

<connectionStrings>
<remove name="LocalSqlServer" />
<add name="HogeServer" connectionString="以下略
</connectionStrings>

<membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="15">
<providers>
<clear />
<add
name="SqlProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="HogeServer"
applicationName="Hoge"
以下略

こうしたところ、ユーザーの登録や削除はASP.NET構成ツールでうまく機能しました。
ユーザー登録関連のコントロールもちゃんと動きます。
ところが、ロールの設定やプロバイダの設定でエラーがでます。
どうもmachine.configに上書きしてない"LocalSqlServer"という項目がかなり残ってるようです。
こんなとき、みなさんならどうしますか?
1.machine.configを検索して"LocalSqlServer"の項目をすべて"HogeServer"に書き換える
2.machine.configを検索して"LocalSqlServer"の項目をすべてweb.config上でRemoveして"HogeServer"に書き換える
3."HogeSerVer"を"LocalServer"に戻してコードの中の"HogeServer"をすべて書き換える

どんな影響があるのか不安でどうしたらいいかわかりません。ご意見をお願いします

594:594
07/04/22 10:26:39 g6P3Re1p

認証関連ですがお手上げなんで教えてください
Windows Server 2003 R2で,
テキストファイルで作成したC#のdefault.aspxに
URLリンク(localhsot)のようにアクセスすると認証のダイアログが出ず,
URLリンク(127.0.0.1)のようにアクセスすると認証のダイアゴルが出てしまいます.
認証のダイアログを出さないようにするにはどう設定したらよいのでしょうか???
IISのディレクトリセキュリティの設定では,「匿名アクセスを有効にする」と「統合Windows認証」にチェックが入っています.
ファイルのセキュリティでは,NETWORK SERVICEが読み取りと実行が可能になっています.

595:nobodyさん
07/04/22 14:13:19
>594
Windows認証が効いてるんだろ?
チェック外してみろ。

596:nobodyさん
07/04/22 23:29:14
Webアプリ久々に開発することになって、最近ASP.NET2.0弄り始めたが
なんだこれ・・・過去に苦労してたのがすっげー楽に実現できる。
カルチャーショックだな

597:nobodyさん
07/04/23 10:11:07
デカルチャー

598:nobodyさん
07/04/23 11:16:42
>>596
俺も6年ぶりぐらいにWebアプリに戻ってきたけど、かなりのカルチャーショック。

ADO.NETの仕組みとか、.NETのライブラリの基本とかが膨大すぎて覚えるのが大変。
オブジェクト指向は過去に経験しててよかったとオモタ
クラシックなaspの仕組みしってるとasp.netの裏側も見えるので損ではないとオモタ

599:nobodyさん
07/04/23 22:52:53 SAH2Jxj+
だが逆にHTMLを自前で吐くようなperlとかつかってたころには
あっさりとできたものが、ASP.NETではできないとか
やりかたが複雑とかわかんないとかいうのがあって
むかつくこともないわけではない

600:nobodyさん
07/04/23 23:15:20
ないと思うが。


601:nobodyさん
07/04/23 23:34:14 Qv1rWHCm
ASP.NET2003での質問
複数の画面を同時に出すフレームワークについて。

あるフレームワーク処理関連を全てコピーして、
別のフレームワークを作ったら、両方とフレームワークが効かなくなってしまった。
原因が全くわからない。
一番、多い原因は何ですか?
リンク・コード内の名前直しは間違ってません。

602:nobodyさん
07/04/23 23:41:44
いい加減意味不明な言葉を直せよw


603:nobodyさん
07/04/23 23:44:13 Qv1rWHCm
すまない。
つまるところ、フレームワークをコピペして、
一つのプロジェクトの二個のフレームワークが出来ました。
そしたら、二つとも画面の合成が効かなくなってしまった。
エスパー希望

604:nobodyさん
07/04/24 00:12:07
言ってることがわかんね。

605:エスパー
07/04/24 01:24:00
ふむ見えた。
この問題を解決できるエスパーは現れないみたい。

残念ですた。

606:nobodyさん
07/04/24 12:30:12
>>601
意味不明だが、なんかが重複定義されてるんじゃね?

607:nobodyさん
07/04/24 16:19:21
あるフレームワーク処理関連を全てコピーして、
別のフレームワークを作ったことが原因では?
これが一番多い原因だと思う。


608:nobodyさん
07/04/24 19:00:49
単品フレームワークでの動作は完璧?
だったらもう一度ソースの中の名前をスミズミまで見てみれ
意外な所に自動生成された名前があったり必要な宣言がされてなかったり…

609:nobodyさん
07/04/24 19:03:45
だいたいフレームワークってなによ?

610:nobodyさん
07/04/24 22:43:33
ざんねんながら単なるフレームのことなんだなこれがw


611:nobodyさん
07/04/24 23:06:20
単なるフレームかよ。シネヨ。
ディレクトリが違うから絶対パスで記述しても、そんなファイルねーだけだろ。
わざわざasp.netスレで聞くんじゃねー


612:nobodyさん
07/04/25 00:27:48
フレームワークってaspxのことかな・・・と思ったが違うのか。
よくaspxをコピペするときにRegisterブロックあたりまでコピペしてしまって
コンパイルエラーの原因がわからず泣いてる奴がいるよな。


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