【質問】ASP.NETスレ Part3【議論】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/10/09(月) 10:04:09ID:luJDzNn3Part1 - 【質問】 ASP.NETスレ 【議論】
http://pc5.2ch.net/php/kako/1040/10406/1040698263.html
【質問】ASP.NETスレ Part2【議論】
http://pc8.2ch.net/test/read.cgi/php/1111480331/
0269nobodyさん
2006/12/24(日) 10:51:19ID:???0270nobodyさん
2006/12/24(日) 12:44:57ID:???なんで過去形なの?
0271nobodyさん
2006/12/24(日) 17:56:42ID:???今年一番笑ったwww
0273261
2006/12/25(月) 21:52:25ID:B5SaXYT9そ、そうでした。
ODBCをたたいていたんで、その鯖でしか動かないと思い込んでました。
ローカル環境で、同じDBをODBC設定すればいいのだ。
0274nobodyさん
2006/12/27(水) 00:19:25ID:01eBQfCf今年中に出るって言ってたのにやっぱ無理だったのかな。
0275nobodyさん
2006/12/27(水) 10:12:30ID:???0276nobodyさん
2006/12/27(水) 15:45:50ID:???遅レスすぎて見てないだろうが
あまりも華麗にスルーされてたので。
つHttpContext.Current.Request.PhysicalApplicationPath;
0277nobodyさん
2007/01/07(日) 04:52:35ID:2KrFYbrf0278nobodyさん
2007/01/07(日) 17:41:26ID:???↑の
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なんてプロパティがないのですが
これの代替手段ってありますか?
0280nobodyさん
2007/01/07(日) 19:32:15ID:???サーバーでEnabledプロパティ見るとtrueのまま。
これは仕様でつか?
0283nobodyさん
2007/01/08(月) 19:45:55ID:???ezweb以外のキャリアでの閲覧が出来ず、困っております。
一部の機能が使えない等ではなく、ページ自体が開きません。
何が原因なのか、ピンと来る片いらっしゃいませんでしょうか?
0286nobodyさん
2007/01/08(月) 20:26:32ID:???<%@ 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="http://www.w3.org/1999/xhtml" >
<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>
0287nobodyさん
2007/01/08(月) 20:30:06ID:???<script runat="server">
</script>
↑のことです。
<html>タグの中にいれてください。
余分っていう表現は適当じゃなかったですねw
0289nobodyさん
2007/01/08(月) 20:32:36ID:???<html xmlns="http://www.w3.org/1999/xhtml" >
"がきになりました。
0292nobodyさん
2007/01/08(月) 20:47:45ID:???HTTPレスポンスの内容をのぞいてみてください。
以前、携帯HP開発やってたときの経験ではResponseContentの<html>タグの前に文字列があると
エラーになった覚えがあります。環境はASP.NETではなかったですが。
0293nobodyさん
2007/01/08(月) 21:11:50ID:???試してみましたが、やはりau以外での閲覧が出来ませんでした。
0294nobodyさん
2007/01/08(月) 21:19:25ID:???ASP.NETの問題ではない気がするのでWebPogの携帯HP関連のスレに
HTTPレスポンス文字列を貼り付けてみてもらうのが早道かもしれませんね。
0295nobodyさん
2007/01/08(月) 21:25:14ID:???ん〜〜どうしてもauで見られるという点が引っかかってるんですよね。
個人的にはASP.netの記述ミスか何かだと思っていたのですが・・・
もうしばらく調べてみます。
0296nobodyさん
2007/01/08(月) 22:26:21ID:???俺は携帯電話の全キャリアの旧ブラウザにも対応するために全てのHTML文をC#から書き出すようにしたなぁ…
基本はResponce.Write(<html>…</html>);
でC#側で勝手に付加されるタグ類(<script>やら)は吐き出さないようにしたような。
うろ覚えですがw
ちなみに文字化けでやたらと引っかかったのを覚えてる。。
ページのエンコードをshift_JISにするのではまり、次に、URL?id=<文字列>もエンコードするのを忘れ…
0297nobodyさん
2007/01/09(火) 05:55:40ID:???http://www/CG.jpg
にあって、
ユーザーも
http://www/CG.jpg
に直接アクセスしてきたとします。
そのときにCG.jpgにアクセスしてきた人数を記録するカウンタープログラムはどうやって作るのでしょう。
0298nobodyさん
2007/01/09(火) 23:55:15ID:???flashからasp.netに変数を渡し、処理後flashに戻す、というプログラムを作成しました。
ローカルサーバにおいてある場合は動くのですが、いざサーバにアップロードしてみると
flashから貰っているはずの変数を参照できないのです。
この場合、考えられる原因は何なのでしょうか?
0301nobodyさん
2007/01/10(水) 14:19:29ID:???扱えるDOM Parserってないですか?
0302nobodyさん
2007/01/10(水) 21:31:19ID:???0304nobodyさん
2007/01/11(木) 20:22:35ID:???0305nobodyさん
2007/01/12(金) 16:16:18ID:???そのユーザーコントロールの値を取得する簡単な方法はないでしょうか?
0306nobodyさん
2007/01/21(日) 18:59:59ID:t33NEAvg送信されてくるデータの取得方法なんですが
複数の同名フォームの値がカンマ区切りとなっているものが
Request["txt"]で参照できると思います。
そのカンマによって何番目のテキストボックスか?を判別できますが
テキストボックスの値にカンマが含まれている場合、テキストボックスの値としてのカンマが
区別できないため何番目のテキストボックスかが判別不能になってしまいます。
なにか方法はないでしょうか?
0307nobodyさん
2007/01/21(日) 19:50:53ID:???すみません。自己レスです。
Request.Form.GetValues("keyword")
でとれましたw
失礼しました。
0308nobodyさん
2007/01/21(日) 19:56:31ID:???Request.Form[<インデクサ>]でフォームの値を取得できなかったっけ?
Request.Form["txt"]で全体を取得するのをやめてtxtテキストボックスの値をインデクサで指定して
一つずつ取得する関数を作ってみるとか…
0309nobodyさん
2007/01/25(木) 16:53:42ID: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 = "正しく入力してください";
}
}
-------------------------------------------------------
とやっても無反応で、でも他のやりかたを見つけられず悩んでいます。
0310309
2007/01/25(木) 16:55:36ID:???-------------------------------------------------------
アンケート [CustomValidator]
□ とてもいい
□ いい
□ ふつう
□ わるい
□ とてもわるい
-------------------------------------------------------
で、一つもチェックされていない場合エラーを返したいのですが、記述方法がわかりません。
perlなら
unless($cgi_pm->param('enquete')){push @errmsg,'一つも選ばれていません';}
っていうようなことをやりたいのですが…
ヒントまたは「ここに同じような例が載ってるよ」でも構いませんので、
教えていただければ幸いです。
0311nobodyさん
2007/01/25(木) 17:25:25ID:GWbwdMjRASPNETDB.MDF内のPofileに値を入れようとしたところで行き詰まっています。
開発環境からVWDの.NET開発サーバーを通した場合は、問題なくProfileに入れた値を読み書きできるのですが、
できたファイル郡をIISのWebフォルダ下にコピーしてIIS経由で開こうとすると、
「ユーザーのローカル アプリケーション データ パス取得中のエラーにより、SQL Server のユーザー インスタンスを生成できませんでした。対象のユーザーのローカル ユーザー プロファイルがコンピュータに存在することを確認してください。接続は閉じられます。」
というメッセージが出てProfileの値を取り出すことができません。
○:http://localhost:2600/Website/hoge.aspx
×:http://localhost/Website/hoge.aspx
となるのです。
いろいろとググった結果、\App_DataフォルダやASPNETDB.MDFのセキュリティの記述があったので弄ってみましたが、
状態は変化なしです。
どこをどう弄ればIIS経由で開いた時もProfaileの値を読み書きできるようにできるのでしょうか?
0312nobodyさん
2007/01/25(木) 19:54:58ID:???検証コントロールの使い方を理解したほうが早いと思う。
http://www.atmarkit.co.jp/fdotnet/aspandvs/aspandvs02/aspandvs02_04.html
未入力項目をチェックしたい場合は、
RequiredFieldValidatorコントロールを使うのが普通。
http://ja.gotdotnet.com/quickstart/aspplus/samples/webforms/ctrlref/webctrl/reqfieldvalidator/doc_reqval.aspx
つーか、2chではなく、MSDNフォーラムで聞けば、丁寧に教えてくれる。
http://forums.microsoft.com/MSDN-JA/ShowForum.aspx?ForumID=177&SiteID=7
0313nobodyさん
2007/01/25(木) 20:01:16ID:???検証コントロールは使わないで良いかと。
void Button_Click(Object sender,EventArgs e){
if (!CheckBox1.Checked && !CheckBox2.Checked && ...)
{
Label1.Text = "えらんでください";
}
}
Perlと違ってイベントドリブンなので、こんな感じじゃない?
http://www.atmarkit.co.jp/fdotnet/aspnet/index/index.html
0314nobodyさん
2007/01/25(木) 20:05:48ID:???IIS環境に、SQL Server 2005 Express Editionは入ってる?
DBをユーザインスタンスで起動できていないメッセージに見えるけど。
それか、ASPNETDB.MDFではなく、他のDBに保存するかとか。
ttp://dotnetfan.org/blogs/dotnetfanblog/archive/2006/01/11/506.aspx
0315311
2007/01/25(木) 21:39:35ID:???レスありがとうございます。
同一マシンなので、もちろん入っています。
インストールもIIS>MDAC2.8SP1>VWDと入れ、IISの.NETタブを2.0に変えました。
SQL-Serverサービスも動いています。
Profileを使わなければ、IIS経由でもaspxファイルは動きます。
開発サーバー経由とIIS経由では動作ユーザが違うという記述があったので、
APP_Dataフォルダを丸ごとEvryoneでフルコントロールにしたりしてみたのですが
効果がありませんでした。
他のDBが無いので、とりあえずExpressでなんとかしたいのですが・・・。
0316309
2007/01/26(金) 11:13:12ID:???>>313
ありがとう。
>>312
RequiredFieldValidatorだと、「入力されていません」が2つ出ることに。
配置をdynamicにしても、両方とも入れられなければエラーが2つ出るので、それを一つにまとめたいなーというのが動機です。
>>313
checkBoxListなんてものを使ったから余計に難しくなったのか…
よく考えればcheckBox並べてりゃもっと簡単に考えられたのかも。
VWDって敷居が高い…
でも会社でPerl禁止令出たしなぁ。
0317nobodyさん
2007/01/26(金) 11:31:56ID:???そういうことだったら、CustomValidatorコントロールでもよいかも。
ServerValidateイベントを実装しないとだめかと。
protected void CustomValidator_ServerValidate(object sender,ServerValidateEventArgs e) {
if (チェック条件) {
e.IsValid = true; //妥当
else{
e.IsValid = false; //エラー
}
}
checkBoxListは、ListContorlクラスを継承しているから、
SelectedIndexプロパティが使えるかと(-1なら未選択)。
最初は読みにくく感じるかもしれないけど、
MSDNのメンバ一覧を見る癖をつけたほうが良いかもよ。
http://msdn2.microsoft.com/ja-jp/library/system.web.ui.webcontrols.checkboxlist_members(VS.80).aspx
0322nobodyさん
2007/01/27(土) 20:02:17ID:???そんなことない?
ググって見るとASP.NET2.0からReadOnlyのTextBoxの値をスクリプトで書換えると
無視するとあるけど、使ってるのはASP.NET1.0だし書き替えもサーバー側の
置換えのみ、試しにアトリビュートでReadOnlyにしても効果無し
ここ1ヶ月このトラブルでもう。。。
0323nobodyさん
2007/01/27(土) 22:32:36ID:h09XMzrEreadOnlyに限定してしまうならテキストボックスにこだわる事は
ないじゃないか?
客先の条件だったとしても、マイクロソフトの仕様で無理なんですって
突っぱねてしまいそうな俺がいる
0325nobodyさん
2007/01/28(日) 11:44:05ID:???>readOnlyに限定してしまうならテキストボックスにこだわる事は
>ないじゃないか?
そうですね。
試しにLabelの枠を凹ませたけど今イチ格好悪いなぁ。
0326nobodyさん
2007/01/28(日) 19:05:01ID:JpUTkmIraspとsqlを用いてぐるなびのようなポータルサイトをつくりたいと考えています。
学生団体で地域発展のために行うもので、
掲載希望の店舗のユーザーにはパスワードを与え(これはたぶん郵送かE-mailかな)
こちらがつくったテンプレートをもとに
画像と文章をブラウザから入力、アップロードするだけで
その掲載希望した店舗のページを自由に更新させるようにしたいです。
それってどうやるのでしょうか?昨日からVisual basicとasp.net勉強しはじめたばっかりなので
あまりわかってないのですが、教えてください。
いま考えているのは、そのポータルサイトから契約店舗専用ページに
リンクをはり、それに認証をかける(ユーザーに郵送したものではいれる)
さらにはいると、店のリストがならび
自分のパスワードで自分の店の編集ページにはいれるようにする。
ユーザーコントロールを、ユーザーコントロール外の上などに
テキストボックスやイメージアップロードさせるものをおき、
それでユーザーコントロールを更新させる。(データベース通さないとだめなのでしょうか?
そうでないと、その場で表示されるだけだったりしますか?
で、ふつうの人が見るページに、そのユーザーコントロールをおく。
で、できますか?
0327nobodyさん
2007/01/28(日) 19:42:40ID:???0329nobodyさん
2007/01/28(日) 20:52:30ID:???できるんじゃない。
似たような仕組みは作ったことあるよ。
がんばって。
0330nobodyさん
2007/01/28(日) 22:59:57ID:???0331309
2007/01/30(火) 17:15:19ID:???実際はもっと違う質問で、選択肢がたくさんあるんだけど、
数が多いので端折ったのよ。
でも例が悪かったね。申し訳ない。
性別はラジオボタンリストで取っています。
>>321
そのとおりで、でも私の出した例が悪くて。
結局検証コントロールはやめて(どうにもこうにもなじめない)、プログラム側で判定し、エラーの場合はLabelにエラーメッセージを書き出すようにしました。
ところで別の質問です。
メールアドレスの正当性をチェックしたいのですが、perlでやると
-----------------------------------------------------
#メールアドレスが正しいかどうかを調べる
if($mail and not (Email::Valid->address(
'-address' => $mail,
'-mxcheck' => 1)
)){
push @errstr, 'メールアドレスは形式が不正か、存在しません。';
}
-----------------------------------------------------
のようなことをVWD+C#でやりたいのですが、どこかそれらしいところを紹介している場所があれば教えていただければありがたいです。
0332nobodyさん
2007/01/30(火) 21:39:31ID:???http://support.microsoft.com/kb/308252/ja
http://www.atmarkit.co.jp/fdotnet/basics/regex01/regex01_02.html
0333nobodyさん
2007/01/31(水) 00:20:55ID:???RegularExpressionValidatorコントロールでしょう。
http://www.microsoft.com/japan/msdn/enterprise/pag/securityguidance/paght000001.aspx#paght000001_usingaregularexpressionvalidatorcontrol
0334nobodyさん
2007/01/31(水) 01:20:46ID:cBvXWViJregexクラスは後々色々と使えるからオススメって上司が言ってた
俺は馴染めなくて使ってないが
0335309
2007/01/31(水) 07:24:40ID: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
にしたいのですが…
0336nobodyさん
2007/01/31(水) 10:08:08ID:???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;
}
}
0338nobodyさん
2007/01/31(水) 10:59:26ID:???情報を小出しにすんな。
http://www.codeproject.com/aspnet/emailvalidator.asp
0339309
2007/01/31(水) 11:22:27ID:???ありがとう
試してみます。
>>338
すまん。
'-address' => $mail,
'-mxcheck' => 1 ←←
で通じると思ってた。普通に考えりゃ通じないわな…
訳して試してみます。ありがとう。
0340nobodyさん
2007/02/01(木) 19:36:19ID:MYaqNwfdSQLサーバにストアドプロシージャを使用してログインアカウントと
そのログインアカウント用のDBを作成しています。
-------------------------------------------
こういったDBが作成されます
ログインアカウント:A
パスワード:****
settingテーブル(Aユーザの設定)
infoテーブル(Aユーザの取得したデータを保存)
ログインアカウント:B
パスワード:****
settingテーブル(Bユーザの設定)
infoテーブル(Bユーザの取得したデータを保存)
ユーザが増える毎にログインアカウントとデータベースが増えていく
-------------------------------------------
これらの増えていくログインアカウントのログイン状況の管理ページを作成したいのですが
ログインアカウントの一覧をC#から取得する方法はないでしょうか?
新規にログインアカウント管理用のDBを作成する事は仕様上不可能です。
仕方がないのでログインアカウント一覧取得
↓
そのログインアカウントを使ってconnectionStringを作成してアカウント毎にログイン状況を表示
みたいなものを作成するために、ASP.NET ログイン アカウント 取得
などでぐぐったりhelpを読んだりしているのですがそれらしい記述がなく途方に
くれています。
どなたか方法をご存知の方はおられないでしょうか?
0341nobodyさん
2007/02/01(木) 23:56:33ID:???SQL認証に関する質問?
質問内容がよう分からんです。
0342>>340
2007/02/02(金) 02:08:50ID:???すいません、理論的に言葉にするのが苦手で…。
SQL認証ではないです。
やりたいことはログインの下のアカウント名を全て取得する事です。
以下に説明しなおしてみます。
SQLsever2005ExpressをSQLsever Management Studioのオブジェクトエクスプローラで見ると
-------------------------------------------
コンピュータ名\EXPRESS
┣+データベース
┗━セキュリティ
┗━ログイン
┣━A
┣━B
┗━sa
+サーバーロール
+資格情報
-------------------------------------------
上記の様になっています。
したい事は"ログイン"の下のアカウント"A","B","sa"を全て取得する事です。
ログインアカウントを取得する良い方法はないでしょうか?
ディレクトリ名から取得、データベース名やテーブル名から取得も出来ないのでどうしてやれば良いものかと。。
0343nobodyさん
2007/02/02(金) 12:24:01ID:PlF5DoK0SQLServer6.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でダメな場合のチェックポイントがあれば教えてください。
0344nobodyさん
2007/02/02(金) 14:39:38ID:???開発機のファイルシステムベースで開発していて、
それを開発機のIISへコピーして動作しないということ?
以下は試してみた?
1)IISへはVSのサイト発行機能を使用してみる
2)ローカルWebサイトで直接作成する(Webサイトを作る時、場所としてhttpでhttp://localhost/を選択する)
0345nobodyさん
2007/02/02(金) 20:34:09ID:???0346nobodyさん
2007/02/02(金) 22:12:11ID:SXH/UThlコードビハインドでずらっと並べて、textプロパティへ値を入れたり参照したりする
サンプルコードってどこかに無いでしょうか?
0347nobodyさん
2007/02/02(金) 23:18:10ID:???0348nobodyさん
2007/02/02(金) 23:18:35ID:???ttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=36506&forum=7
0350344
2007/02/03(土) 00:01:49ID:2oS0EMInRepeaterでTextBoxを表示させて、それぞれアクセスすればよろし。
0351nobodyさん
2007/02/04(日) 08:58:56ID:???クラスライブラリ形式で作った。
クラスライブラリにするとdllとしてASP.NETプロジェクトから取り込まれるが、
このdllの中のアセンブリリソースを*.aspxから直接参照する方法ってないのかな。
サイト内のアセンブリリソースだと<#$ Resource: messages, hoge #>とかできるけど。
0352nobodyさん
2007/02/05(月) 00:48:14ID:???色の設定ができるダイアログを出す術はあるのでしょうか。
調べては見たものの、見つかりませんでしたので質問させていただきました。
0353343
2007/02/05(月) 09:31:07ID:???どうもです。
1はやってみましたが、同じ結果でした。
2はソリューションファイル以外をIISの管理下のフォルダへ直接置くということですよね?
こちらはこれからやってみます。
同一マシンからなのに、「見つからない」というのがどうも解せなくて・・・。
>>345
ドライバは判りませんが、開発環境からは見えているので、pingが通らないということは
ないと思います。現に、マシン名を使ってのpingも通ってますし。
0354344
2007/02/05(月) 10:23:23ID:???ファイルシステムベースで開発してるマシンと、IISが動作してるのは別PC?
とりあえずWindowsFormでSQLサーバに接続するコードを書いてみて、
それをIISの乗ってるPCで実行して試してみたら?
だめなら物理的に見えない可能性が高い。
接続できたらIISの設定等の可能性が高いということで。
0355343
2007/02/06(火) 11:10:43ID:???簡単なページを作成して、
2)ローカルWebサイトで直接作成する(Webサイトを作る時、場所としてhttpでhttp://localhost/を選択する)
をやってみましたが、やはり同じように拒否られます。
>ファイルシステムベースで開発してるマシンと、IISが動作してるのは別PC?
同じです。
というか、本来のWebサーバ上でエラーが出たので、開発機内のIISへコピーしてみたら、同じエラーが出ているのです。
あと、WindowsFormでDB接続部のコードを丸写ししてみたところ、問題なく接続できました。
値も取れます。
IISのどこかに設定があるのでしょうか?
Oracleには何も問題もなく接続できるのですが・・・。
0356343
2007/02/06(火) 11:57:37ID:???VB6のアプリも問題ないですし。
ASP.NETだとだめなんですよね・・・。
0357344
2007/02/06(火) 19:58:02ID:SPFBBkyrSQLサーバへの接続はSAでの接続?
普通にASP.NETは動作するんだよね?
→まずASP.NETが動作するか確認しよう
聞いている現象だと、ASP.NETのアカウントがSQLServerのユーザになってないような気がする。
IIS上で動作してるASP.NETはASP.NETアカウントで接続しようとするので、
SQLサーバなどに権限がないと接続できない。
それが違うとしたら、IISのスナップインで規定のWebサイトあたりを見てみると幸せになれるかもしれない。
0358343
2007/02/06(火) 20:14:29ID:???あぁ、タイミング良くレスが。m(_ _)m
普通のASP.NETページはもちろん動いています。
SQL-Server6.5への接続だけができません。
接続ユーザはsaです。
標準接続でDB接続文字にsa等があってもASP.NETアカウントで繋げようとするんでしょうか?
IISのスナップインというのは、IISサービスマネージャのことでしょうか?
と思ったら、参照というのがありますね。
ちょっと詳しく見てみます。
0359nobodyさん
2007/02/06(火) 20:15:02ID:???SQLServer6.5ってのが、ちょっとポイントかな。
もう10年ぐらい前なかんじだし、今時のドライバでいいのかどうかちょっとわからん。
でも、そもそも接続用のプロトコルはどうしてるの?
名前解決が出来てないとか普通にある話だと思うけど。
とりあえずサーバー側、クライアント側双方の接続をTCP/IPを最優先にして試してみるといいよ。
Named PipeなのにIP指定とかありがちな罠なんだけど。
343の接続文字列は、同一の内容をASPに持ち込んで動くの?
それとIISとSQLServerは同一セグメントにあるの?
0360343
2007/02/06(火) 20:45:55ID:???>>359
やっぱりDBが古いんですかねぇ。orz
前にも書きましたが、WindowsFormに同じコードを書くと、問題なく接続できます。
若干コードは異なりますが、従来のASPでも動いています。
ASP.NETでもVS内のWeb開発サーバー経由なら問題ありません。
IIS配下で動かすとダメなんですよね・・・。
今、ふと思い出しましたが、Windows2000上にSQLSserver6.5を入れているのが悪いのでしょうか?
6.5って元々NT4ベースですよね。
他の方法では接続できるので、この点はあまり気にしていなかったんですが。
0361nobodyさん
2007/02/06(火) 22:01:11ID:???以前のVBなんかだとラベルとかのコントロールにインデックスを付けて、Forループとかで
キャプションを書き換えたりとかやってましたが、ASP.NETで同じような処理をするには
どうすればいいのでしょう?
IDってインデックスみたいな使い方ってできませんよね?
0362344
2007/02/06(火) 22:06:05ID:SPFBBkyr>標準接続でDB接続文字にsa等があってもASP.NETアカウントで繋げようとするんでしょうか?
初めに断っておくけど、SQL7以降しか知らないので、間違ってたらすまん。
よく考えればWindowsFormでも同じ接続文字列で接続できてるので、問題はないかもね。
そう考えると難しいなぁ。
でも原因はIIS上でだけ動作しないということなので、IIS上とその他の違いを検証してみるのが
解決の近道だと思う。
仮に、SQLServerExpressで接続する環境を整えてみたらと思う。
→もし接続できたら、SQL2005とSQL6.5の違いが原因と区別できる
管理ツールフォルダにある、インターネットインフォメーションサービスをいじると幸せになれるかも。
0363344
2007/02/06(火) 22:37:19ID:SPFBBkyrページに配置したコントロールにアクセスする方法としては、
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#ですまん
0364nobodyさん
2007/02/06(火) 22:56:44ID:???レスサンクス。
C#判らんので、ちょっと説明をお願いします。
> foreach (Control a in this.form1.Controls)
この行はページ上にあるコントロールを全部見ていくということですよね?
> if (a.GetType() == typeof(TextBox))
で、ここで参照しているコントロールがテキストボックスかどうかを判定していると。
> TextBox b = (TextBox)a;
で、ここの書き方がよく判りません。
VBだとここはどういう書き方になるんでしょう?
0365344
2007/02/06(火) 23:06:41ID:SPFBBkyrごめん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
とかなのかな?
0366nobodyさん
2007/02/06(火) 23:13:58ID:???0367344
2007/02/06(火) 23:19:21ID:SPFBBkyrVBでも同じようなのがあったように思って想像で書いたんだもん(´Д⊂グスン
間違いを指摘してくれるのもありがたいけど、よければあなたの知恵も
貸しておくれよ(´Д⊂グスン
0368364
2007/02/07(水) 10:33:07ID:???昔の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を始めたので、クラスとか継承とかの概念がイマイチ掴みきれなくて難儀してます。
■ このスレッドは過去ログ倉庫に格納されています