【質問】ASP.NETスレ ..
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の違いが原因と区別できる
管理ツールフォルダにある、インターネットインフォメーションサービスをいじると幸せになれるかも。
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を実行させればいいだけだけどね。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4227日前に更新/321 KB
担当:undef