1 名前:nobodyさん mailto:sage [2009/01/23(金) 09:46:51 ID:???] ●過去ログ Part1 - 【質問】 ASP.NETスレ 【議論】 pc5.2ch.net/php/kako/1040/10406/1040698263.html 【質問】ASP.NETスレ Part2【議論】 pc8.2ch.net/test/read.cgi/php/1111480331/ 【質問】ASP.NETスレ Part3【議論】 pc11.2ch.net/test/read.cgi/php/1160355849/ 【質問】ASP.NETスレ Part4【議論】 pc11.2ch.net/test/read.cgi/php/1184683786/ (dat落ち?) あんまり需要ないのかもしれませんが。。。
407 名前:398 mailto:sage [2009/05/30(土) 04:44:22 ID:???] Protected Sub Calendar1_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) _ Handles Calendar1.SelectionChanged 'カレンダーの日付を選択すると、「選択した日付」を表示(確認) lblSelectedDay.Text = Calendar1.SelectedDate.ToShortDateString End Sub Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 'ページロード初回のとき、「今日の日付」を表示 If Not IsPostBack Then lblToday.Text = DateTime.Now.Date.ToShortDateString End If End Sub Protected Sub btnChandeDay_Click(ByVal sender As Object, ByVal e As System.EventArgs) _ Handles btnChandeDay.Click '「日付変更」ボタンをクリックしたとき、「今日の日付」を表示 Calendar1.VisibleDate = Convert.ToDateTime(txtInputDay.Text) lblChangedDay.Text = txtInputDay.Text '入力した日付をラベル表示(確認) lblChangedDay2.Text = Calendar1.SelectedDate.ToShortDateString '選択した日付をラベル表示 End Sub という感じで作ってみました。 extBoxに「2001/6/1」と入力して、それをカレンダーに反映させる、については >Calendar1.VisibleDate = Convert.ToDateTime(txtInputDay.Text) によって該当月のカレンダーが表示されますが、日付の選択状態が実行されません。 指定した日付を選択状態にするにはどうすればよいのでしょうか?
408 名前:nobodyさん mailto:sage [2009/05/30(土) 05:15:58 ID:???] >>407 >指定した日付を選択状態にするにはどうすればよいのでしょうか? 普通にCalendar1.SelectedDateにセットすればいいだけの気がするんだが、 これって読み取り専用か?
409 名前:nobodyさん mailto:sage [2009/05/30(土) 06:09:32 ID:???] そんだけ動いてるってことはサーバの負荷が大きくなってプロセス再起動してる感じかなぁ… ロードバランサ使って負荷分散するとかしないと厳しそうな気もするけど・・・ 監視ソフトでも入れて負荷みないとなんともいえん
410 名前:nobodyさん mailto:sage [2009/05/30(土) 06:17:21 ID:???] Calendar1.VisibleDate = Convert.ToDateTime(txtInputDay.Text) Calendar1.SelectedDate = Convert.ToDateTime(txtInputDay.Text) ←追加 lblChangedDay.Text = txtInputDay.Text lblChangedDay2.Text = Calendar1.SelectedDate.ToShortDateString >Calendar1.SelectedDate = Convert.ToDateTime(txtInputDay.Text) を追加したら上手くいきました。ありがとう!
411 名前:nobodyさん mailto:sage [2009/05/30(土) 07:12:47 ID:???] >これがデフォルトの動作モードというのはもはや犯罪。いくら速くても >データがロストするんじゃね。 むしろデータがロストしても致命的にならないくらい セッションをできるだけ使わないのがおすすめだけどな。 おれはセッションにはせいぜいリダイレクトの瞬間のやりとりデータしか入れないぜ。
412 名前:nobodyさん mailto:sage [2009/05/30(土) 11:10:13 ID:???] データの受け渡しをするにしても、必ずSerializableなクラスを渡すようにするのがいいね 設計段階で、Selializableな基底クラスを用意して、それを継承したクラスのメンバ変数で 値を持つようにして、それをsessionで受け渡しすればいい。 InProcで問題が発生してStateServerの利用になっても問題無く移行できる。
413 名前:nobodyさん mailto:sage [2009/05/30(土) 11:48:58 ID:???] Serializable属性は継承されません
414 名前:nobodyさん mailto:sage [2009/05/30(土) 11:53:13 ID:???] ん、そうなの? 継承クラスでそのままSerializableできたけどなんでだろう?
415 名前:nobodyさん mailto:sage [2009/05/30(土) 12:56:14 ID:???] >>413 Silializerだと駄目だね SessionとかだとSerializable属性なしでも通るのか。 知らなかった。サンクス!
416 名前:410 mailto:sage [2009/05/30(土) 14:29:16 ID:???] MasterPage上の表の左コラムに、>>407 ,410で作ったカレンダーを貼り、 日付を選択したら、表の右コラムのContentPlaceHolder1に関連情報(Result.aspx)を表示する。 というのを作成しました。 Server.Transfer("Result.aspx?targetDay=" + Calendar1.SelectedDate.Date) これで対象となる日付を引き渡し、該当する関連情報を表示するところまでできたのですが なぜかカレンダー表示がその都度初期値(今日の日付を含む月)に書き換えられてしまいます。 選択した日付を含む年月のカレンダーを表示し、且つ選択した日を選択表示にするには どうすればよいですか?
417 名前:nobodyさん [2009/05/30(土) 14:45:21 ID:yVbH19hK] もう、やりたいこと全部コメントに書いてプロジェクトごとアップロードしたら? 俺は落とさないけど。
418 名前:nobodyさん mailto:sage [2009/05/30(土) 15:27:24 ID:???] よくわからんけどVBって日付の妥当性チェック無しでConvertしても許されたり stringにDateTime突っ込んだりしても推測して型変換してくれるの?
419 名前:nobodyさん mailto:sage [2009/05/30(土) 15:37:08 ID:???] 普通にブラウザの戻るボタンで戻ると、ちゃんと日付が反映されてるよ 戻るボタンでもAJAX使ってると今日の日付にもどっちゃうけど ただ単に同じページに戻っただけなら、初めてページを表示させるのと同じだから 表示の日付も今日の日付になってるというのは当たり前の話。 日付を選択して違うページに移動し、再び日付選択ページに戻った時、 その日付を維持したいのなら、セッションかクッキーを使用するか、 GETかPOSTで日付データを渡して値を設定するしかない。
420 名前:410 mailto:sage [2009/05/30(土) 16:12:33 ID:???] MasterPage 表左コラム | 右コラム | カレンダー | 該当年月日に属する情報 Calendar.ascx | Result.aspx こんな感じで、カレンダーで選んだ日付に属する情報を表の右コラムに表示する。 Server.Transferを使うことで、選択した年月日の情報を表示することはできました。 ところがResult.aspxが表示された瞬間、Calendar.ascxのカレンダーが初期年月に戻ってしまう。 カレンダー上に、右コラムで表示された情報の日付が選択された該当月が表示されたままにしておいて 同月の前後その他の情報を続けて表示確認したい。 マスターページに共通の見た目のデザインを設定し、この上で Webユーザーコントロールから必要な項目を選択し、Webフォームに見たい情報をデータベース検索し表示する。 みたいなことができるような仕組みを作ろうかと思っています。
421 名前:nobodyさん mailto:sage [2009/05/30(土) 16:47:09 ID:???] マスターページとかめんどくさそうだなw
422 名前:nobodyさん [2009/05/30(土) 17:07:38 ID:yVbH19hK] >>420 ちょっと危険なコーディングだがMasterPage側での処理ということで。 ttp://teke348.dyndns.tv/src/up8781.zip カレンダーなんて、そのうち「ある場合ではこうで、そうでない場合はこう」 とか色々制限がつきやすいものだから、それ自体をユーザーコントロールにした方が吉。
423 名前:nobodyさん mailto:sage [2009/05/30(土) 20:25:01 ID:???] >>422 優しいね ソース眺めて(・∀・)ニヤニヤしようかな(・∀・)ニヤニヤ
424 名前:nobodyさん mailto:sage [2009/05/30(土) 20:35:56 ID:???] (・∀・)ニヤニヤしようと思ったらVBだからよくわからんかったわw
425 名前:nobodyさん mailto:sage [2009/05/31(日) 03:44:11 ID:???] フォーム認証のメリットって何?ベーシック認証じゃ駄目なん? 認証受けずにページを表示しようとしたら指定のページに強制的に飛ばされる、つーのは 便利だと思うけど。
426 名前:nobodyさん mailto:sage [2009/05/31(日) 04:17:10 ID:???] 認証方法はユーザIDとパスワードの組み合わせだけだと思うか?
427 名前:nobodyさん mailto:sage [2009/05/31(日) 14:48:59 ID:???] ベーシック認証に他のやり方があるかどうかわからないけど、 Windowsのアカウントユーザを追加してIDとパスを設定しなくちゃいけないから面倒だからじゃない? apacheとかでも動的に.htaccessとかにユーザを追加管理しなきゃいけなから 面倒だったと記憶してるんだけど。 フォーム認証ならデータベース等を利用して動的にユーザの追加や削除ができるでしょ。
428 名前:nobodyさん mailto:sage [2009/05/31(日) 17:35:56 ID:???] まあ、ASP.NET側で自分で独自に処理してやれば、BASIC認証でも自由にやれる。 けどわざわざやる価値はあんまりないわな。
429 名前:410 mailto:sage [2009/06/01(月) 17:45:43 ID:???] >>422 どうもありがとうございます。 MasterPageに複数のWebコントロールを載せて、結果をDefoult.aspxに表示するというコンテンツを作ると、 Sessionを使うと煩雑になるのと、時系列的にPageを切り替えていくのならOKですが、それぞれの Webコントロール(上のデータ表示)に、同時に反映させるのが難しいかと思いました。 結局、MasterPage画面に配したWebコントロールページに同時にServer.Transferを送ることで 画面上のデータをすべて同期させることができることが解りました。 VIEWSTATEが少し冗長となりましたが。 またアドバイスお願いします。
430 名前:nobodyさん mailto:sage [2009/06/02(火) 22:10:04 ID:???] >>418 int型へのキャストで以下が成立する言語 CInt("+2,7,42,4,6,") = 274246 #全角は入力間違いをしている訳ではない
431 名前:nobodyさん mailto:sage [2009/06/02(火) 23:17:26 ID:???] w まぢかw
432 名前:nobodyさん mailto:sage [2009/06/04(木) 17:26:18 ID:???] 参考書で練習問題やってたらAdventureWorksってのが出てきたんだけど 自分で設定汁って書いてあるんだけど、なにこれ?
433 名前:nobodyさん mailto:sage [2009/06/04(木) 18:33:57 ID:???] マイクロソフトが配布してるデータベースのサンプル
434 名前:nobodyさん mailto:sage [2009/06/10(水) 14:01:06 ID:???] 質問です。1つのイベントを複数のイベントハンドラに対応付ける事は出来るでしょうか? ネットで探していると 「1つのイベントハンドラを複数のイベントに対応付ける」 というのは沢山出てくるのですが、逆は見つけれません。 そもそも無茶な事しようとしているのでしょうか? 具体的にはボタンがクリックされた時にイベントを2つ呼び出したいといった感じです。
435 名前:nobodyさん mailto:sage [2009/06/10(水) 17:51:41 ID:???] イベントハンドラ内から新しいイベント投げてやればいいんじゃね
436 名前:nobodyさん mailto:sage [2009/06/10(水) 18:17:32 ID:???] >>434 こういうこと? protected void Page_Load(object sender, EventArgs e) { this.Button1.Click += this.Button2_Click; this.Button1.Click += this.Button3_Click; } protected void Button2_Click(object sender, EventArgs e) { } protected void Button3_Click(object sender, EventArgs e) { }
437 名前:nobodyさん mailto:sage [2009/06/10(水) 18:42:20 ID:???] ヒント:オブザーバー
438 名前:nobodyさん mailto:sage [2009/06/10(水) 18:52:20 ID:???] デザインパターン使って自分で定義せんでも、.Clickに+=すればいいやんw
439 名前:nobodyさん mailto:sage [2009/06/10(水) 20:41:28 ID:???] >>435 , >>436 , やっぱそうなりますよね。 javascriptだと、onclick="hoge();piyo();" みたいな書き方が出来た気がするので、 そういう単純な方法無いかな〜と思ったんです^^; >>437 , >>438 , そいうデザパタがあるんですね〜勉強してみたいと思います。
440 名前:1/2 mailto:sage [2009/06/10(水) 21:06:01 ID:???] 質問です コードビハインドで組んでいるのですが、コンテナの使い方がいまいちわかりません csファイル1 public class Jouhou{ private int suuji; private string moji; public Jouhou(int suuji,string moji){ this.〜〜 } public setget〜〜〜 } CSファイル2 public class Dousa{ protected System〜〜.Repeater rpt; private void Page_Load(〜〜){ List<Jouhou> joho=new List<Jouhou>(); joho.add(〜〜); x3とか this.rpt.DataSource=joho; this.rpt.DataBind(); } protected string hoge(string moji){ return moji; } } ascxファイル <asp:Repeater〜ID="rpt"〜〜〜> <ItemTemplate> <%# DataBinder.Eval(Container.DataItem, "moji") %>←正常にLiteralが作成されて、表示される <asp:Literal ID〜〜〜〜 Text="hoge(DataBinder.Eval(Container.DataItem, "moji"))">←エラーが出る(エラーは不明)
441 名前:2/2 mailto:sage [2009/06/10(水) 21:09:12 ID:???] つまりRepeaterにはきちんとデータはバインドされていて、mojiとかが正常に以降しているのに、 メソッドに値を送り込もうとすると失敗します。 例えば、 <asp:Literal ID〜〜〜〜 Text="hoge("aaaa")"> とすればきちんとaaaaが返ってきます やりたいことは、repeaterの中のデータを一旦検証メソッドに送って、その結果を返したいです。 どなたかアドバイス頂けないでしょうか?
442 名前:nobodyさん mailto:sage [2009/06/10(水) 23:18:50 ID:???] >>441 なんかこんなんつくってたわ 昔作ったから意味は忘れた <asp:TextBox ID="TextBox" Text='<%# this.GetColumnData(Container, "Data") %>' runat="server"></asp:TextBox> protected string GetColumnData(RepeaterItem repeaterItem, string columnName) { object columnData = DataBinder.Eval(repeaterItem.DataItem, columnName); string returnData = ""; if (columnData is string) returnData = (string)columnData; else if (columnData is int) returnData = ((int)columnData).ToString(); else if (columnData is decimal) returnData = ((decimal)columnData).ToString(); else if (columnData is DateTime) returnData = ((DateTime)columnData).ToString("yyyy/MM/dd"); return returnData; }
443 名前:nobodyさん mailto:sage [2009/06/10(水) 23:23:30 ID:???] >>442 ありがとうございます! さっそくそれを参考にいろいろ調べてみます
444 名前:nobodyさん mailto:sage [2009/06/12(金) 09:14:01 ID:???] すみません。初心者なのですが 皆さんのお知恵をお貸し下さい。 現在、ASP.NETでWEBアプリの勉強をしているのですが SQLサーバーに、バイナリー形式で保存してある 画像を加工してから出力したくて BITMAPクラスを使用すればいいことまでは分かったのですが データベースから取り出した、バイナリーデータを どうやってBITMAPクラスに入れればいいのか、分からず四苦八苦しています・・・ 分かる方からすれば、くだらないかも知れませんが、教えてください。>< Dim image As Bitmap Dim writeStream As Byte() = New Byte(record.Item(0).toByteArray.Length - 1) {} System.Buffer.BlockCopy(record.Item(0).toByteArray(), 0, writeStream, 0, record.Item(0).toByteArray.Length) image = New Bitmap(writeStream) これだとエラーになっちゃうんです><
445 名前:nobodyさん mailto:sage [2009/06/12(金) 17:26:51 ID:???] >>444 //MSSQLからバイナリデータの取得 varbinary(MAX) TestDataSetTableAdapters.TestTableTableAdapter tableAdapter = new TestWindowsForms2008.TestDataSetTableAdapters.TestTableTableAdapter(); TestDataSet.TestTableDataTable dataTable = new TestDataSet.TestTableDataTable(); tableAdapter.Fill(dataTable); //MemoryStresmにMSSQLから取得したbyte[]データを格納 行が無かった場合のチェックする必要あり MemoryStream ms = new MemoryStream(dataTable[0].BitmapData); //Bitmapのインスタンスを生成 Bitmap bitmap = new Bitmap(ms); //BitmapのインスタンスをImageプロパティに設定 this.pictureBox1.Image = bitmap;
446 名前:nobodyさん mailto:sage [2009/06/12(金) 17:29:16 ID:???] 格納する側 //Bitmapインスタンスの生成とbitmapデータの取得 Bitmap bitmap = new Bitmap("test.bmp"); //BitmapデータをMemoryStreamに読み込む MemoryStream ms = new MemoryStream(); bitmap.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp); //Bitmapデータを格納するTableのインスタンスの生成 TestDataSetTableAdapters.TestTableTableAdapter tableAdapter = new TestWindowsForms2008.TestDataSetTableAdapters.TestTableTableAdapter(); TestDataSet.TestTableDataTable dataTable = new TestDataSet.TestTableDataTable(); tableAdapter.Fill(dataTable); //新しい行の作成と、バイナリデータの設定 TestDataSet.TestTableRow row = dataTable.NewTestTableRow(); row.BitmapData = ms.ToArray(); dataTable.Rows.Add(row); //Tableの更新 tableAdapter.Update(dataTable);
447 名前:nobodyさん mailto:sage [2009/06/12(金) 18:11:28 ID:???] >> 445 ありがとうございます。 無事解決できました。 本当にありがとうございました
448 名前:nobodyさん mailto:sage [2009/06/14(日) 03:05:11 ID:???] ASPのころ、本当にVBSでできることぐらいしかできなくて苦労したけど ASP.NETになってから、画像も加工できるし、メールも送れるし、FTPも簡単だし、 FileSystemObjectも簡単になってるし、日付計算も簡単になってるしで、 本当に便利になったよね BASP21すげーーーーーーとかいって使ってたのを思い出したよ
449 名前:nobodyさん mailto:sage [2009/06/15(月) 15:22:19 ID:???] レイアウトの自由度のためだけに、一意なレコードしか選択されなくても Repeater使ってるんだけどおかしい? FormViewはHTMLに展開されるときにデフォルトでtableタグが生成されるのが いただけない。ちなみに.net framework2.0限定。 あとデザイナ画面でRepeaterコントロールがデフォで5行表示されるのもなんとか変更したい。 <HeaderTemplate>だけだとItemTemplateが無い場合、表示されないし・・
450 名前:nobodyさん mailto:sage [2009/06/15(月) 15:36:10 ID:???] >>449 そこまで文句言うならデザイナにでもパネル突っ込んでガリガリループでHTMLとかコントロール突っ込んでいけば?
451 名前:nobodyさん mailto:sage [2009/06/15(月) 19:19:29 ID:???] >>449 Item5個だけのクラスを新たに作って、リピーターに突っ込めばいいだけなんじゃないの?
452 名前:nobodyさん mailto:sage [2009/06/15(月) 21:15:04 ID:???] そんなの自由自在 ASP.NET サーバコントロールプロジェクトで自作でhtmlを生成して表示してもいいし、 ユーザコントロールにLiteralコントロールを設置して自分でhtml出力すればいい >あとデザイナ画面でRepeaterコントロールがデフォで5行表示されるのもなんとか変更したい。 何行表示されても構わないように設計(デザイン)する必要があるわけだから、 極端に言えば何行の表示でも別にいいでしょ <ItemTemplate>がなければ複数行の動的な生成が難しいんだから一般的には必要ないかと
453 名前:nobodyさん [2009/06/15(月) 21:32:48 ID:Ovw0FDNW] Visual Web Developer 2005 Express Edition質問です。 PlaceHolderの中にコントロールをドラッグ&ドロップしたいんですけど、 プレースホルダーを配置して、この上にドラッグドロップしてみたんだけど無理でした。 どうやるの?
454 名前:nobodyさん mailto:sage [2009/06/16(火) 02:03:02 ID:???] たぶんやりたいこととか目的とズレてるような気がするけど、 単にPlaveHolder内にタグを配置したいならデザインビューに切り替えて <asp:PlaceHolder ID="PlaceHolder2" runat="server"> ※ </asp:PlaceHolder> の※の部分にコントロールをポトペタすればコントロールが配置できる でも本来、PlaceHolderは実行時にコントロールを生成するコンテナとしての役割が大きいので、 単に配置するだけとか、配置して一斉に非表示にしたいとか目的なら Panelとか使ったほうがいいと思う。
455 名前:nobodyさん mailto:sage [2009/06/16(火) 20:27:08 ID:???] >>454 ありがとうございます!!!!!多謝です! デザインビュー上ではやっぱりできないのですね 自分のはFreeのツールだから禁止させられているのかと思いました。 やりたいことは、タブみたいに、ボタンをおしたら、違う画面になる(でも同じWebフォームで処理したい) みたいな事です。 なので、パネルでやります。 m(_ _)m
456 名前:nobodyさん mailto:sage [2009/06/16(火) 21:10:44 ID:???] >>455 ある特定の一部分だけ非表示にしたり、表示したりするならPanelでもいいけど、 ごっそり変えるなら、MultiViewとViewを使ったほうがわかりやすい 一つのaspxで、入力フォーム→入力確認ページ→実際に登録みたいなこともできるよ PostBackが仕様のASP.NETだと、そういうのに2枚のaspxが必要だと思ってる人もいるみたいだけど
457 名前:nobodyさん mailto:sage [2009/06/16(火) 21:45:59 ID:???] >>456 たびたびありがとうございます!!!!! さっそくMultiViewにします!
458 名前:nobodyさん mailto:sage [2009/06/21(日) 11:03:39 ID:???] 本番機と開発機でweb.configが違うんだけど、上手い管理の仕方無いかな。 いつか間違えてしまいそうで怖いんだが。
459 名前:nobodyさん mailto:sage [2009/06/21(日) 15:17:48 ID:???] >同じ名前 (Web.config) の複数の構成ファイルを、ASP.NET の >Web アプリケーション サーバーの複数のディレクトリに置くことができます。 >各 Web.config ファイル内の構成設定 (IIS 認証の設定など) は、 >それぞれのディレクトリ内のソース ファイルに適用されます。 >Web プロジェクトでは、既定の Web.config ファイルの設定に優先する、 >カスタムの構成ファイル (mysettings.config など) を作成できます。 >チーム開発環境では、カスタムのファイルを作成することが必要になる場合があります。 >カスタム構成ファイルの作成が必要となる状況、 >特に共有プロジェクト開発時の必要性の詳細については、 >「Web 参照、Web プロジェクト、およびソース管理の統合」を参照してください。 >Web プロジェクトの場合、ソース管理に追加する必要がある *.config ファイルは、Web.config だけです。 msdn.microsoft.com/ja-jp/library/aa290084.aspx とか?
460 名前:nobodyさん mailto:sage [2009/06/21(日) 15:19:15 ID:???] あとは、やったことないけど、 FTPとかでの更新ならweb.configだけ異なる権限にしておいて、 勝手に書き換えられないようにしておくとか、そんなんはできないのかな
461 名前:nobodyさん mailto:sage [2009/06/21(日) 15:35:33 ID:???] >>458 ウチの場合は、web.config.dev とか、web.config.release 等の名前で 複数の web.config を用意している。自動デプロイスクリプトを組んでる ので、その中でデプロイ先の環境を判別して web.config にコピってる。 まあ、普通だな。手作業はとにかく排除するのが基本じゃね。
462 名前:458 mailto:sage [2009/06/21(日) 23:22:51 ID:???] レスありがとう。 >>460 これはちょっと楽そうだ 読み取り専用属性つけて試してみる。 >>461 だね。ちょっと手を抜いて手作業でしてたけど、後々を考えると しっかりやった方がいいよね。 XCOPYでゴソってやって、最後にweb.configだけ上書きって 流れだけか。 思考停止してたけど、なんも考える事無かったな。 ありがとう。
463 名前:nobodyさん mailto:sage [2009/06/24(水) 19:17:16 ID:???] 俺は毎回コピーした後にweb.config手作業で書き換えてる たまに書き換え忘れることもあるがw web.configに設定する内容を、本番と開発で、全く同じにするか、 間違えると動かない設定にしてるので、書き換えないと本番が動かないようにしてる 一番困るのは、書き換え忘れで本番が変な設定で動くことだからな
464 名前:nobodyさん mailto:sage [2009/06/24(水) 21:51:34 ID:???] 開発環境と本番環境でweb.configが違うってのは、どういう場合とか? そういうときはディレクトリ分けして、ディレクトリごとにweb.configを統一しといたほうがいいと思うんだけど
465 名前:nobodyさん mailto:sage [2009/06/24(水) 22:53:08 ID:???] >>464 appSettings とか connectionStrings は結構違うでしょ。あとは認証、 ログ設定、例外発生時の挙動なんかも変えたくなると思うけど。
466 名前:nobodyさん mailto:sage [2009/06/24(水) 23:04:24 ID:???] >>464 は何か意図を勘違いしてると思うのだよ
467 名前:nobodyさん mailto:sage [2009/06/24(水) 23:58:39 ID:???] >>465 それってディレクトリごとにかえられになかったっけ?
468 名前:nobodyさん mailto:sage [2009/06/25(木) 01:32:47 ID:???] ディレクトリ毎にweb.configは設定できるはず(やったことない)だけど、 問題はその中身を書き換えなきゃいけない、ってことだと思うんだが。 >>465 が書いてる通りのものは結構書き換えなきゃいけない と思うんだけど。
469 名前:nobodyさん mailto:sage [2009/06/25(木) 17:13:04 ID:???] UpdatePanel の中にラベルとボタンがあります。 ボタンが押されたら、とある PDFファイル をクライアントに attachment として投げつけて ラベルの文字を「投げたお」と書き換えたいです。(UpdatePanelの更新) ですが、UpdatePanel の中では PDF をクライアントに投げつける、ということが出来ないみたいです。 何か良い策はないでしょうか。 インテルのWebサイトとかでは、ファイルの投げ付け&画面遷移を同時にやってるやつがありますが どんな仕組みなんでしょう・・・(そこにヒントがある気がしてます)
470 名前:nobodyさん mailto:sage [2009/06/25(木) 17:55:06 ID:???] ボタンクリックで新規ブラウザを立ち上げてPDFをダウンロードさせ、 UpdatePanelで表示してあげればいいんでね?
471 名前:nobodyさん mailto:sage [2009/06/25(木) 18:00:53 ID:???] >>468 これとか? social.msdn.microsoft.com/forums/ja-JP/aspnetja/thread/13d412a8-4416-429e-909e-0af88b528c16
472 名前:nobodyさん mailto:sage [2009/06/25(木) 21:32:10 ID:???] >>471 し、しらんかった・・・ これは便利そうだ。設定変えたいとこだけ全部外だし 出来そうだなー。 結論としては「ディレクトリ毎」っていうのが、実は 「configファイルを分割」っていう意味だったってこと? だから「web.config書き換えるっていつだよ?」みたいな 話になってたって事? まぁどっちでもいいが、良いこと知った。トンクス。
473 名前:nobodyさん mailto:sage [2009/06/26(金) 00:25:17 ID:???] configSourceはweb.configと同じく更新が即反映されるので 大抵のもんはappSettingに突っ込んで分離してる
474 名前:nobodyさん mailto:sage [2009/06/26(金) 05:38:12 ID:???] そして今度は外だししたファイルを上書きするわけですね
475 名前:nobodyさん mailto:sage [2009/06/26(金) 11:36:26 ID:???] >>474 これは? location 要素は、ASP.NET 構成 API を使用することによりプログラムから設定できます。また、ASP.NET MMC スナップインの [場所] タブを使用して設定することもできます。 msdn.microsoft.com/ja-jp/library/ms178692.aspx
476 名前:nobodyさん mailto:sage [2009/06/26(金) 17:43:41 ID:???] >>465 それはweb.configの指定を特定のパスに限る設定だろ 今問題になってるのは 環境を設定するファイルがあって、本番のそのファイルを開発環境のファイルで上書きすること で、>>471 の方法では、結局上書きする(=書き換える必要がでる)ファイルが web.configからconnection.config(とか任意のファイル)に変わるだけで 結局上書きしないようにするとか手作業で書き換えるとかする必要がでるんじゃないか、ってのが>>474 の主張 web.configから任意のファイルになるだけ判りにくくて混乱の元になる気がするぜ
477 名前:nobodyさん mailto:sage [2009/06/26(金) 19:00:22 ID:???] >>476 location要素をプログラムから設定できるんなら 環境(サーバ名とか)によって任意のファイルを指定できるんでないのかなと思って。
478 名前:nobodyさん mailto:sage [2009/06/29(月) 19:17:18 ID:???] お世話になります、自分で独自に作ったクラスをwebサービスの戻り値にするにはどのようにしたらよろしいでしょうか? イメージとしては class 個人情報(){ private string 氏名; private int 年齢; setget〜〜〜 } //個人情報クラスのリストを戻す [webmethod] class 個人情報[] 個人情報リスト(){ List<個人情報> aaa=new List<個人情報>(); aaa.add(new 個人情報(名無し,10)); aaa.add〜〜〜; return aaa; } このような感じで作ってもエラーが出てうまく行きません、独自クラスではなくintやstringといったものなら正常に返せます よろしくお願いします。
479 名前:nobodyさん [2009/06/29(月) 19:43:32 ID:uOZzkvvT] 以下について教えて下さい。 [やりたい事] 1)登録ボタン押下 2)DB検索 3)フォームの入力データとDB結果をチェック 4)重複データでない場合=「新規登録しますか?」ダイアログ表示 >OK=DB追加 >キャンセル=中止 重複データの場合=「重複してますが登録しますか?」ダイアログ表示 >OK=DB追加 >キャンセル=中止 このような処理を実施させるには、どのような制御を実装すれば良いのでしょうか? [聞きたい事] ・表示するメッセージを上記のように変動させて確認ダイアログを表示したい ・OK/キャンセルの戻り値を取りたい 登録ボタンのOnClientClickに「return confirm("登録しますか?");」を設定すれば 動作すると思ったのですが、上記1)の後に「登録しますか」ダイアログが出てしまい想定する動作になりませんでした。 不躾で申し訳ありませんが、ご教授の程よろしくお願い致します。 [環境] Microsoft Visual Studio 2008 Version 9.0.30729.1 SP Microsoft .NET Framework Version 3.5 SP1 Microsoft Visual Web Developer 2008 VBScript
480 名前:nobodyさん [2009/06/29(月) 20:51:34 ID:JEwwWVNF] すでにあるxlsファイルを更新したいんですが、どうすればいいのでしょうか? A*1に1を入れて保存とかそんな感じでお願いします
481 名前:nobodyさん mailto:sage [2009/06/29(月) 22:31:40 ID:???] >>480 すでにあるがサーバ上にあるのか、クライアント側にあるのかわからないけど、 サーバ側なら www.atmarkit.co.jp/fdotnet/dotnettips/717excelfile/excelfile.html で操作できるんでないかね。 Microsoft Excel 11.0 Object Libraryって奴で。 クライアント上にあるのならサーバにアップロードするなりしないといけないと思う
482 名前:nobodyさん mailto:sage [2009/06/29(月) 23:18:11 ID:???] >>479 JavaScriptでやりたいということだと、かなり特殊なことをしなくちゃいけないので面倒臭い。 なので、可能なら同じページに戻して、新規登録だけど登録していい?とか、重複してるけど登録していい? というメッセージを表示させて確認を求めるほうが楽。 AJAXを使えばJavaScriptでも簡単にできるかもしれないけど、 非AJAXでやるとしたらこんな感じかな。 他に簡単な方法のアイデアがあったら求む・・・ <form id="form1" runat="server"> <asp:HiddenField ID="HiddenField1" runat="server" Value="0" /> <asp:HiddenField ID="HiddenField2" runat="server" Value="0" /> <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> <asp:Button ID="Button2" runat="server" onclick="Button2_Click" Text="Button" /> </form>
483 名前:nobodyさん mailto:sage [2009/06/29(月) 23:18:11 ID:???] >>479 OnClientClickだとポストバック前に実行しちゃうよ proshile.blog.drecom.jp/archive/14 でいけるけど、今ってもっと良い方法がないのかな? 普段1.1使っててわからん。
484 名前:nobodyさん mailto:sage [2009/06/29(月) 23:19:02 ID:???] >>479 つづき protected void Button2_Click(object sender, EventArgs e) { //ユーザによるボタンのクリック DB内を調査して表示する→2回目のボタンを押す if (this.HiddenField1.Value == "0") { //Value = 1でユーザによるclick Value = 2でJavaScriptによるクリック this.HiddenField1.Value = "1"; //データベース内のデータを確認する作業をここでする //もしyesが押されたらHiddenField2にtrueを、noならfalseを格納する ScriptManager.RegisterStartupScript(this, typeof(Page), "test", "if (confirm('')) { form1.HiddenField2.value = 'true'; } else {form1.HiddenField2.value = 'false';};form1.Button2.click();", true); } //JavaScriptによる2回目のクリック confirmの結果により動作を分ける else if (this.HiddenField1.Value == "1") { //もしyesを押された時の処理 if (this.HiddenField2.Value == "true") { //confirmでyesをclick時に行う動作 } //Value = 1でユーザによるclick Value = 2でJavaScriptによるクリック this.HiddenField1.Value = "0"; } }
485 名前:nobodyさん [2009/06/29(月) 23:19:21 ID:fVwdImLx] 全てのページに、URLにuserid=XXXX といった文字列を追加したいのですが アプリの本数が多くて、簡単に追加できる方法ないですかね?
486 名前:nobodyさん mailto:sage [2009/06/29(月) 23:30:27 ID:???] >>485 すべてのページでgetを受け取れるようにしたいのか、 すべてのページのハイパーリンクにgetのクエリを付与したいのか 詳しく書いてくれないと何とも言えない。 でもuseridが変更されるとこまると思うから常識的にはsessionを使うべきだと思う
487 名前:nobodyさん mailto:sage [2009/06/29(月) 23:35:02 ID:???] >>486 説明不足でした。getのクエリ文字列に追加したいのです。 sessionを使うのが普通なのは承知していますが 環境の都合上使用ができないのです。(クライアントのCOOKIEも)
488 名前:nobodyさん [2009/06/29(月) 23:42:59 ID:fVwdImLx] また、言葉足らず・・・ sessionを使用ができないのではなく、 sessionだけではなく、GETのクエリ文字列にもパラメータが必要ということでした。
489 名前:nobodyさん mailto:sage [2009/06/29(月) 23:49:37 ID:???] >>488 response.redirectでやると思うが、?userid=xxxxって追加する専用メソッドを入れたらいいんじゃない? 追加メソッド(string url){ return url+="?userid="+this.userid; } みたいな感じで、useridがどこにあるのか知らないけど どなたか>>478 もお願いしますm(_ _)m
490 名前:nobodyさん mailto:sage [2009/06/30(火) 00:00:00 ID:???] >>489 やはり、その方法しかないですかね? useridはIIS上で保持しています。 URLに付加された状態でProxyを通過させたいんですよね・・・ (言葉足らずで情報が小出しになってしまい申し訳ないです)
491 名前:nobodyさん mailto:sage [2009/06/30(火) 00:31:17 ID:???] プロクシを通過させると何か問題なの? 俺ならSystem.Web.UI.Pageを継承するクラスUserPageを作成して、 private int UserIDみたいなメンバ変数と public void Redirect(string url,)みたいなメソッドをを作成して urlとUserIDからRedirectさせるようにする んで、そのクラスを継承するページを設定するかな? public partial class Default : UserPage みたいな感じで そうすれば各ページでuseridを取得するルーチンを書かなくて済むし、 現状のresponse.redirectをUserPage.Regirect(string url)に置換するだけで済むし
492 名前:nobodyさん mailto:sage [2009/06/30(火) 01:25:00 ID:???] >>478 public class Person { private string name; public string Name { get { return this.name; } set { this.name = value; } } private int age; public int Age { get { return this.age; } set { this.age = value; } } } [WebMethod] public List<Person> GetPersonList() { List<Person> aaa = new List<Person>(); aaa.Add(new Person { Name = "Taro", Age=8 }); aaa.Add(new Person { Name = "Jiro", Age = 7 }); return aaa; } でとりあえず動いてるみたいなんだが、どんなエラーなんだ?
493 名前:nobodyさん mailto:sage [2009/06/30(火) 01:26:01 ID:???] 半角スペース消えるの忘れてた・・orzスマソ
494 名前:479 mailto:sage [2009/06/30(火) 09:14:08 ID:???] >>482 ,484 ご教授ありがとうございます。おおよその動きは理解出来ました。 >AJAXを使えばJavaScriptでも簡単にできるかもしれないけど、 AJAXは使っています。 その場合、提示された処理より簡単に実装出来るのでしょうか? 出来ればこちらのやり方も教授頂けると嬉しいです。 >>483 ご教授ありがとうございました。
495 名前:478 mailto:sage [2009/06/30(火) 10:15:56 ID:???] >>492 ありがとうございます、新しいページで作り直したら動きましたorz
496 名前:nobodyさん mailto:sage [2009/06/30(火) 16:05:45 ID:???] >>494 AJAXなら、フォームからフォーカスが外れるたびに入力内容をチェックしにいって、 重複か重複でないかをチェックして、ScriptManager.RegisterStartupScriptで JavaScriptで定義した変数にbool値を格納する 例 var isDuplicate = true; 登録ボタン押下時に、JavaScriptでisDuplicateの変数内容によって、 onSubmitで表示するconfirmの表示文字を変更させればいい。 cancel時にPostの処理を中止するのはどちらも同じだから。
497 名前:479 mailto:sage [2009/06/30(火) 17:26:30 ID:???] >>496 ご丁寧にありがとうございます。 482,484を実装し、期待する動作は確認出来ました。 作成しデバッグしている最中にASPの制御、と言うかスタンドアロン(VB)との違いが良く分かりました。 (それにより)496の内容もすぐに理解出来ました。応用させて頂きます。 ご教授頂いた事に感謝致します。 本当にありがとうございました。
498 名前:nobodyさん mailto:sage [2009/07/01(水) 17:57:52 ID:???] MSの開発技術大全のASP.NET編で、SQLDataAdapterコントロールが デザイナにD&Dできるみたいな記述になってるけど、VS2005や2008でも出来たっけ?
499 名前: [―{}@{}@{}-] nobodyさん mailto:sage [2009/07/01(水) 18:29:24 ID:???] >>498 SqlDataSourceとかObjectDataSourceコントロールの事じゃないか
500 名前:nobodyさん [2009/07/02(木) 20:39:30 ID:ZUKdZhY7] ASPでjavascriptを使わずにあるボタンを押したら、とあるテキストボックスに1を入力するっていう処理をやりたいのですが、 今まではポストバックさせてやっていたのですが、そうするといちいち画面が切り替わるのがうっとうしいので画面が切り替わらないで処理をやりたいです。 可能でしょうか?
501 名前:nobodyさん mailto:sage [2009/07/02(木) 20:54:55 ID:???] 不可
502 名前:nobodyさん [2009/07/02(木) 21:15:02 ID:ZUKdZhY7] >>501 ありがとうございます そうですか、あきらめてjavascript使うしかないですね
503 名前:nobodyさん mailto:sage [2009/07/02(木) 21:46:24 ID:???] 1って入力してもらう
504 名前:nobodyさん [2009/07/02(木) 21:51:06 ID:ZUKdZhY7] 目的は1を入力した状態にしたいのではなくて、テキストボックスをreadonlyにしたいのです。 javascriptで実装するにはどういうコードを書けばいいのでしょうか?
505 名前:nobodyさん mailto:sage [2009/07/02(木) 21:57:01 ID:???] マジレスすると、TextBox.Textに1を入れた後にTextBox.ReadOnlyにtrueを設定
506 名前:nobodyさん [2009/07/02(木) 21:59:45 ID:ZUKdZhY7] ポストバックさせたくないんですよ
507 名前:nobodyさん mailto:sage [2009/07/02(木) 23:41:47 ID:???] AJAX使いなよ ポストバックしてるけどしていないような感じで実現できるから