トップページphp
1001コメント429KB

【質問】ASP.NETスレ Part3【議論】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/10/09(月) 10:04:09ID:luJDzNn3
●過去ログ
Part1 - 【質問】 ASP.NETスレ 【議論】
http://pc5.2ch.net/php/kako/1040/10406/1040698263.html
【質問】ASP.NETスレ Part2【議論】
http://pc8.2ch.net/test/read.cgi/php/1111480331/
0711nobodyさん2007/05/17(木) 02:26:12ID:???
webページのボタン押下時に、別のWAN内のサーバの共有ディレクトリからファイル読み込んで
その結果を表示したいが、可能かな?クライアントは2000くらいなんだけど
0712nobodyさん2007/05/17(木) 03:20:30ID:???
アクセス権さえ設定してればいけるんじゃね?と確かめもせず
レスしてみる
0713nobodyさん2007/05/17(木) 07:26:12ID:FTfyfp31
自作したサーバコントロールのタグプレフィックスの定義に関する質問です。

Webサイトプロジェクト内にサーバコントロールを定義して、同一プロジェクト内で使用する場合
毎回タグプレフィックスが定義されるのが面倒なのでweb.configにタグプレフィックスを定義したいです。
<@Register ...
<cc1:MyUserControl>
<cc2:MyUserControl2>
と自動的に宣言されるのが汚い。

web.config内にサーバコントロールのタグプレフィックスを定義する場合
assembty属性とnamespace属性とtagPrefix属性を指定するようなのですが (<page><control>要素の配下に)
Webサイト内のApp_Codeで定義しているため、assembly属性に何を入れてよいのかわかりませんでした。
どのように定義すればよいのでしょうか?
assembtyを""にしてもダメでした。

もしかして、別プロジェクトにしないとダメなのでしょうか?
0714nobodyさん2007/05/22(火) 11:28:30ID:???
>>710
すみません、自己開穴しました。









アッ-!
0715nobodyさん2007/05/22(火) 13:05:49ID:x4pNUm3u
ASP.NET2.0でWebサイト作ってます。
App_Codeディレクトリの参照設定について質問があります。
web.configに以下のようなApp_Code内へサブディレクトリを使用する旨の
記述をしているのですが、imports指定しても、「定義されていません」
とか、言われたりするのです。(それもクラスファイルによってできたり
できなかったりする) アクセス就職し云々でなく、基本的にファイルがない
ということになっているようなのですが、同様の現象にあったことがあるかたは
おられますでしょうか? 昨日から原因不明でビルドできず我慢の限界に達しました。

サブディレクトリ名とnamespaceは一致させる必要はありませんよね??



<codeSubDirectories>
<add directoryName="utils"/>
<add directoryName="database"/>
<add directoryName="auth"/>
<add directoryName="information"/>
<add directoryName="consts"/>
</codeSubDirectories>
07167152007/05/23(水) 08:17:38ID:???
自己解決しました。
0717nobodyさん2007/05/29(火) 03:07:54ID:???
(; ^ω^)
0718nobodyさん2007/05/29(火) 10:24:53ID:???
テキストボックスとボタンを適当に置き、
テキストボックスにタグ(またはタグの1部、?)等を入力してボタンを押すと、

System.Web.HttpRequestValidationException:
危険な可能性のある Request.Form 値がクライアント (TextBox1="<ta") から検出されました。

というページが表示されるのですが、ワケがありましてどうしても、
validateRequest=false
するわけにはいかず、具体的にどう入力するとこの警告がだされるのかを
調べなくてはならなくなったのですが、情報がみつかりません。
どなたかお力添えをお願いいたします。m(_ _)m
0719nobodyさん2007/05/29(火) 13:26:26ID:???
単純に'<'と'>'で囲まれたタグ形式のものがエラーになるんじゃなかったけ?
俺ミスリードしてる??
0720nobodyさん2007/05/29(火) 14:46:22ID:???
>>719
ありがとうございます。それが、
&# (←半角で)
とか、<>の左側
<
に+アルファベット1文字とか、
ちゃんとあるタグに限らないんです・・・
チェックリストはハードコーディングして隠されてるみたいなんです。
0721nobodyさん2007/05/29(火) 22:34:10ID:???
ちゃんとあるタグってhtmlに存在するタグってこと?
それならたぶんエラーにひっかかってるのはhtmlタグじゃなく
XMLのタグあたりじゃないか?
俺はそういうものなんだと思ってたけど…
誰か詳しい人解説きぼん
0722nobodyさん2007/05/30(水) 00:36:44ID:???
自分なら「validateRequest=false」とは無関係に
まず正常系の処理として要求を満たす入力可能な文字集合の作成を検討する。

設計者ならば要求を満たす機能を考えることが求められるし
開発者ならば要求を満たす機能を提案し説得することが求められる。
なにより共通して言えるのはエンドユーザの要求を汲み取ることが求められる。

ということでブラックリストを列挙するのではなく
ホワイトリストを作成するのが普通な気がしない?
異常系の仕様は予算に応じてピンキリでいくらでも考えられるだろうし・・・
それこそHttpRequestValidationException発生時に別ページに飛ばすだけの手抜きまで。
それでもあえて回答を考えてみると,

「"具体的にどう入力するとこの警告がだされるのか"は非公開です。」

となる。

「validateRequest=falseは出来ない」とか「調べなくいけなくなった」とか
書いてる時点でこんな回答無意味かも知れない。
0723nobodyさん2007/05/30(水) 11:20:03ID:???
postbackした後に任意の<a name>タグに位置を合わせたいんだけどどうしたら良いでしょうか?
redirectでResponce.redirect("moyasi.aspx#kani")だと初期状態に戻ってしまうしどうしていいかわかりません(><)
0724nobodyさん2007/05/30(水) 15:51:02ID:???
とりあえず自己解決。
PageのPredrenderでRegisterStartupScript使ってjavascript書きました。

もうちょっと美しい方法ありそうだけどなぁ…
0725nobodyさん2007/05/31(木) 00:12:46ID:???
.NET になってから、Response.Flush()はどういった場面で使うの?
0726nobodyさん2007/06/05(火) 11:47:32ID:5EDNjM+0
質問です。
環境:VS2005、C#+SQL2005

複数人が更新するWebアプリで楽観的ロックを使用してDBにレコードをインサートする際
あるカラムA(IDのような一意のint型のカラム)に重複した値が入るのを避けるにはどうすれば良いのでしょうか?

SQL権限の関係で主キーは設定出来ずSQLで自動で値をふる機能も使えません。
現状は
@DBからカラムAの最大値を取得して1を足す
A@で取得した値をインサート文のvalueに入れてインサート文を実行
という流れを一つのトランザクションで行っていますが、複数の端末から同時に上記@Aの処理が
実行された時、カラムAの値が重複する場合があります。

解決策として
1)@の開始直前からインサートが終わるまでテーブルをロック
2)@の処理で取得した値を変数に入れておきインサート実行の直前に重複のチェック
の二つを考えているのですがどちらも決めてに欠けています…
1)はパフォーマンスの低下は確実、2)は根本的解決になっていない。
これ以外の重複を避ける方法というのはないでしょうか?
それとも重複を諦めるかパフォーマンスを諦めるかの二択になるんでしょうか?
0727nobodyさん2007/06/05(火) 19:04:57ID:???
>726
unique制約もだめなん?

別トランザクションでユニーク値を管理するテーブルを用意して
そっちから値を引っ張ってくるってのはだめ?
(うちの周りでは自動採番テーブルとか呼ぶね)
0728nobodyさん2007/06/05(火) 22:31:06ID:???
>>726

ACCESS_LOG
[LOG_ID] int NOT NULL,
[LOG_DATE] datetime NOT NULL,
[IP_ADDRESS] nvarchar(50) NOT NULL,
[USER_AGENT] nvarchar(100) NOT NULL

って感じのレコードとして

INSERT INTO ACCESS_LOG
SELECT MAX(LOG_ID) + 1, GetDate(), '127.0.0.1', 'FireFox'
FROM ACCESS_LOG

とかじゃだめなん?

ちゃんとうまくいくかはWCATとかでストレステストとかしてみてね。
0729nobodyさん2007/06/06(水) 11:34:51ID:???
Webアプリを配置したら、エラーが出ました。
App_Code
に配置したソースコードで
Compiler Error Message: BC30560: 'RegExUrlMappingBaseModule' is ambiguous in the namespace 'RegExUrlMapping_HTTPModule'.
というエラーです。名前空間があいまいということらしいですが・・・・公開環境ではUS版の2003server web を使ってます。

ベースクラス

Namespace RegExUrlMapping_HTTPModule

Public Class RegExUrlMappingBaseModule

Implements System.Web.IHttpModule

/////
継承クラス

Namespace RegExUrlMapping_HTTPModule

Public Class RegExUrlMappingModule

Inherits RegExUrlMappingBaseModule

RegExUrlMapping_HTTPModule.RegExUrlMappingBaseModule
と、装飾して宣言してもまったく同じエラーが出ました。

web.configは開発環境からコピーしたものを使ってます。
machine.configが違うのでしょうか?

ヒントだけでもお願いします。
07307292007/06/06(水) 11:39:34ID:???
あ、ソースはこれです。
http://pietschsoft.com/Blog/Post.aspx?PostID=762
URL書き換えを正規表現できるってことでトライしてますがいろいろつまづいて
以前にもここで質問してます・・・おかげさまで開発環境ではちゃんと動くようになったのですが。。。
すみません。よろしくお願いします。
07317292007/06/06(水) 14:33:45ID:???
事故解決。
どうにも次々に問題が発生するので思い切って削除しました。
0732nobodyさん2007/06/06(水) 19:41:27ID:bb3nk3cA
ご意見聞かせて下さい。
環境VS2005、VB

ブラウザの左側にtreeviewを使用したメニュー、右側の領域にコンテンツ
というページ構成を実現させたいのですが、

メニューをクリックした時に、右のメニューを描画せずに左側の領域だけ
画面を切り替えるのは実現可能でしょうか?

MasterPageを使用していますが、メニューも描画されてしまいます。

フレームは使用しない方向で。
07337072007/06/06(水) 21:28:38ID:???
>732
Flashを使う。
07347072007/06/06(水) 21:46:17ID:???
あ、TreeViewを使うのか。じゃあフレームを使う以外には無いよ。
Webアプリとはそういうものです。
0735どとねと2007/06/06(水) 22:40:48ID:WXe4cmTf
質問です。MSのホームページを見るとASP.netを動かす為の
用件として

・WindowsXP(Professional)
・IIS

が必須条件らしいのですが、私のマシンはWindowsXP(Home)にも
関わらず、VS2005をインストールしたところIISがインストールさ
れていないにも関わらずDebug実行する事が出来ます。

そしてファーストサーバにアップロードしたところ通常通り
プログラム(C#)を動かす事が出来ています。

以上を踏まえるとVS2005をインストールすればWindowsXP(Home)
でもASP.net開発はする事が出来るという事で良いのでしょうか?
0736どとねと2007/06/06(水) 22:49:18ID:WXe4cmTf
あと、一つ質問があります。

上記にあげた私の環境でもプログラミングをした上で
ファーストサーバにアップロードして動作させる事が出来た
のですが、DBと連動させたシステムを作りたいと思って
います。

そこで、ローカルで開発をする際にはDBにAccessを使用して
ASP.netシステムを開発し、外部にASP.netシステムを
(ファーストサーバを利用して)公開する際には、
DB接続文字列(SQL Server用に)さへ変えてしまえば、
Accessで開発したASP.netシステムをファーストサーバ上で
動かす事は出来るのでしょうか?

0737nobodyさん2007/06/06(水) 22:59:24ID:???
>>732
まずメニューをどっちに置きたいのかはっきりしてもらおうか
0738nobodyさん2007/06/06(水) 23:01:19ID:???
微妙なSQLの構文の違いとかパラメータクエリの扱いの違いとか食らう可能性があることを思うと
最初からSQLServerで作った方がいいと思うよ。
0739nobodyさん2007/06/06(水) 23:01:24ID:???
>>736
素直にSQL Server Express Editionでやっとけ。
0740nobodyさん2007/06/06(水) 23:02:49ID:???
VS2005入れると開発Webサーバが入るからそれが動いてる。
多少違いはあるが、まあ普通に開発する分にはまずまず問題ない。
0741どとねと2007/06/06(水) 23:11:29ID:WXe4cmTf
>>738
本当は、私もSQL ServerでやりたいのですがHomeEditionなので
インストール自体が出来ないのでAccessを使っています。。。

>>739
もしかしてHomeにもインストールする事が出来るのですか?
ちょとぐぐって調べてみます。



>>740
ありがとうございます。疑問が解決しました。
0742どとねと2007/06/06(水) 23:14:52ID:WXe4cmTf
どうやら、Windows 2000 Sererが必要な様ですね。。。
何とか自宅でASP.netシステムを構築出来る環境を
整えたいのですが無理でしょうか。
0743nobodyさん2007/06/06(水) 23:15:47ID:???
っつかVS入れたらSSEEも入ってるだろ、あえてはずさない限り。
0744nobodyさん2007/06/06(水) 23:17:19ID:???
ttp://www.microsoft.com/japan/sql/editions/express/sysreqs.mspx
よくみろ
0745どとねと2007/06/06(水) 23:24:48ID:WXe4cmTf
>>743
申し訳ありませんが、SSEEとは何の略でしょうか?
ぐぐってみたら
「Ship's Signals Exploitation Equipment (SSEE) 」
がトップに出てました。SQL Server関係だとは思うのですが。
もっと色々とのぞいてみます。

>>744
WindowsXP(Home)SP2も大丈夫みたいですね^^;
即効インストールしてみます。 
0746nobodyさん2007/06/06(水) 23:27:43ID:???
sqlサーバーexpressエディションの頭文字でSSEE
0747nobodyさん2007/06/06(水) 23:31:29ID:???
>申し訳ありませんが、SSEEとは何の略でしょうか?
悪かったよ。
SQL Server Express Edition の話してたからまあ分かると思ったんだ。
で、さっきも書いたがVS2005と一緒に入るはずだから、あえて外してなかったら
すでに入ってると思うぞ。
0748nobodyさん2007/06/06(水) 23:33:11ID:???
FormViewのなかの、radiobuttomListの値が取得できないんだが、なんとかなりませんか

(コントロール).row.FindControl("ラディオボタン")で出来ません

よろよろ
0749どとねと2007/06/06(水) 23:46:01ID:WXe4cmTf
>>746,747
プログラムの追加と削除を除いてみたところ
Microsoft SQL Server 2005
`` Mobile[ENU]Developer Tools
`` Native Client
`` Setup Support Files(English)
`` VSS Writer
は入っていたのですがSSEEはどうやら入っていない様です。
ダウンロードしてインストールを行う事にします。
0750nobodyさん2007/06/07(木) 00:37:23ID:???
アプリケーションのルートのURL(wwwrootまで)を取得したいのですが
なにか方法はありませんか?
0751nobodyさん2007/06/07(木) 01:47:06ID:???
意味が分かりません><
0752nobodyさん2007/06/07(木) 02:09:35ID:7+sk1quV
>>734
そうですか。ありがとうございます。

>>737
メニューは左です。
0753nobodyさん2007/06/07(木) 03:05:24ID:???
server.MapPathは?
0754nobodyさん2007/06/07(木) 06:20:53ID:???
>>749
それで入ってる。
「Express Edition」は表示されない。
0755nobodyさん2007/06/07(木) 13:13:21ID:xS5ryPrS
SQLDB2005と接続して値を返す関数をC#Webサービスで作成したんだけど質問です
WebサービスからSQL認証で接続するにはSQL接続文字列をWeb.configに
残しておかないとダメなんでしょうか?
なんか見た目に不安なんですが…
0756nobodyさん2007/06/07(木) 15:51:26ID:???
暗号化すれば?
07577492007/06/07(木) 22:09:13ID:bW0yuySj

みなさんのお陰でFirstServerにASP.netシステムをアップロード
しDB連動したアプリを動かす事が出来ました。
ありがとう!!!ございます^^;
0758nobodyさん2007/06/08(金) 02:31:37ID:???
>>755
Windows認証は使えないの?
0759nobodyさん2007/06/08(金) 02:42:37ID:???
>>756
暗号化が一番使い慣れてるのでその方法にしようかと思います

>>758
今までWindows認証を使った実績が無い為、候補から外してました…
その辺の処理をどうするか分からないのと納期との兼ね合いで
スルーしていた次第です
外部に公開するwebサービスでWindows認証を行なう場合
認証に使われるアカウントはWebサービスを公開しているサーバの
アカウントになるんでしょうか?
0760nobodyさん2007/06/08(金) 18:27:38ID:???
SPREADのトライアル版使ってみたんですが、印刷アイコンをクリックしたら
印刷できました。
これってどういう仕組みなんでしょう?
Webアプリなのに印刷できるって不思議なんですけど
0761nobodyさん2007/06/08(金) 23:27:23ID:???
>>759
暗号化が慣れてるならそっちでもいいかも。

実はASP.NETはわからない人なので直接的なアドバイスはできないんだけど、
Windows認証やるのは結構簡単です。
接続文字列はユーザーIDとパスワードを加えず、代わりにtrusted_connection=yes
を入れるだけだったかな。

このとき接続に使用されるアカウントは
・IISに登録されているアカウント。デフォルトだとIUSR
・アプリケーションプールに登録されているアカウント。デフォルトNETWORK SERVICE
のどれかかな?ASP.NETだとASPNETってビルトインアカウントが使われると
聞いた気もするのでそれかも。

これらのいずれか(いずれもWEBサーバのアカウントです)がASP.NETからSQLに
接続するために使用されるので、SQLサーバおよびSQL Serverに登録して
あげれば繋がるようになります。
フォルダ共有するのとかと考え方は同じ。
権限とかには気をつけてね。
0762nobodyさん2007/06/08(金) 23:48:01ID:pjMjCG/O
質問です。

ASP.net上で音声を再生させるにはどうすれば良いでしょうか?
※音声ファイルをHTMLの中に直接コードを入力するのでは無く、
VS上のデザイナ画面に対してToolBoxから何かをドラッグする
事によって音声ファイルの再生を行う事は出来るのでしょうか?
(Image/ImageMapの様な感じ)
0763nobodyさん2007/06/08(金) 23:51:58ID:???
>>760
javascript:FpSpread1.Print(); return false;
0764nobodyさん2007/06/10(日) 00:50:22ID:PggJBMub
ASP.netで画面を分割するのに何か良い方法はありますか?
※マスタページ機能を利用してページの概観を統一する事は現在出来て
います。
0765nobodyさん2007/06/10(日) 11:40:36ID:???
>>762
<OBJECT>タグを表示するカスタム(ユーザ)コントロール
でも作れば?
なんで、タグを入力する事が嫌なのか分からんけど。

>>764
画面を分割をどう言う意味で使ってるんだ?
最終的なHTMLとしての画面分割ではなくて
ソース側の話ならマスタページの入れ子とか
カスタム(ユーザ)コントロールで何でも出来ると思うが。
0766nobodyさん2007/06/10(日) 23:44:47ID:PggJBMub
>>765
なる程そう言う方法があるのですね。ちょっとやってみます。
VS2005では各種便利なコントロールが容易されているのでてっきり
音声再生用のコントロールも容易されていると思っていました。
そして、(仮に)用意されているのならHTMLソースを表示して入力する
のがメンドクサイと思ったからです。

07677642007/06/11(月) 21:58:45ID:mdbvw0qz
>>765
HTMLタグで言うところの画面をFrameタグで分割し、画面を左右に
分割して、それぞれ独自に(画面)をスライドをさせる事が出来る
といったイメージです。

あと、もしご存知でしたら教えて頂きたいのですがマスターページで
読み込んだ画面に(ファイル ⇒ AAA.ASPX)ボタンを配置し
ボタンが押下されると、入力内容を確認する画面(ファイル ⇒ BBB.ASPX )
を表示させる為に下記の様にコードを書いているのですがエラーが出てしまいます。
Response.Redirect("BBB.aspx");
※マスタページを使用せずに上記の用に記述すれば問題無く画面遷移する事が
出来ます。一体どこが悪いのでしょうか?


0768nobodyさん2007/06/12(火) 01:19:26ID:Bz4I9dZe
掲示板作ったが嵐対策に困ってます
IPで制限しても再接続されたらおしまいだし
Cookiで制限しても消されたらおしまいだし
何かいい手はありませんか?
0769nobodyさん2007/06/12(火) 10:05:20ID:???
>767
(前半)
Frame嫌いだから自分でやったことは無いけど、
マスターページにFrameタグ書けばできるんでないか?

(後半)
エラーの内容読めばわかるんじゃね?
まぁよくわからんが
BBBで指定してるマスターページのパスが通ってないのではとエスパーレスしとく。
0770nobodyさん2007/06/12(火) 13:09:44ID:???
>>767
マスターページは共通部分を開発上は分離して、実行する際には一つに
結合してくれると言う機能なので最終的なHTMLの分割とは切り離して考
えてください。

で、「それぞれ独自にスライドをさせる事が出来る」事を目的とした場合、
マスターページにもASP.NETのコントロールと言うよりも静的なHTMLで
どの様に実現するかが重要

分割した各画面の更新等も独立したければ「(i)frame」、
表示上だけなんとか独立したいのであれば、「疑似フレーム」や
contentplaceholderを囲む「CSSのoverflow」で対応できるかもしれません。
0771nobodyさん2007/06/13(水) 00:29:58ID:???
WebViewerについて質問です。
現在ActiveReportsで作成したレポートをWebViewerを用いてWebで表示しようとしています。
製品ヘルプや各種サイトの情報を基に画面を作成したのですが、
「No Report Specified」のメッセージがでたり、外観だけ表示されレポート自体が表示されない状態が続いています。
以下にaspxのコードとWebViewerのプロパティを記載します。
もし原因がわかる方がおられましたら、ご教授よろしくお願いいたします。

//.aspxのコード
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
'キャッシュを無効にする
Response.Cache.SetCacheability(HttpCacheability.NoCache)
'レポートの表示
Call subPrint();
End Sub

Protected Sub subPrint()
'レポートクラス
Dim rpt as new ActiveReportClass
'レポートの実行
rpt.Run(False)
'WebViewerに設定
Me.WebViewer1.ClearCachedReport()
Me.WebViewer1.ViewerType = DataDynamics.ActiveReports.Web.ViewerType.ActiveXViewer
Me.WebViewer1.Report = rpt
Me.WebViewer1.Visible = True
End Sub

//WebViewerのプロパティ
ReportName : なし
CodeBase : arview2.cab#Version=2,4,1,1280
0772nobodyさん2007/06/13(水) 14:14:57ID:???
>>771
まずは、ActiveReportsに入ってるサンプルなり、
簡単なレポートで表示は出来てる?
出来てないなら設定とかの方が怪しいが。

上記は問題がないならWebViewerのActiveXViewerは
.NETのSystem.Web.Caching.Cacheを利用して実現しているので
Visual Studio 2005のデバッグやらDB処理やらレポート作成やら
で負荷がかかってタイムアウト起してるのかも。
試しにMaxReportRunTimeを長めにしてみたら。
0773nobodyさん2007/06/13(水) 22:33:56ID:???
チンプンカンプン(@_@)
0774nobodyさん2007/06/13(水) 23:30:11ID:???
>771
ActiveXコントロールだからASP.NETとのバインドがどうとかヘルプにあったと思うけど
そうじゃなくて?

あとGrapeCityに問い合わせたほうが早いと思う。
07757672007/06/15(金) 01:01:11ID:dg81PFZs
>>769
HTMLタグは書くのがメンドクサイのでこれまで避けていたのですが、
スライドをさせる為にはHTMLタグはどうも必須うの様ですね。
試してみます。ありがとうございます。

>>770
最近ASP.NETデビューしたばかりでマスタページの事を良く理解して
いませんでした。勉強になりました。ありがとうございます。
0776nobodyさん2007/06/15(金) 01:44:04ID:???
>>748
0777nobodyさん2007/06/17(日) 01:07:14ID:???
勉強しようかと思ってるのですが
Visual Web Developer 2005 Express Edition と
ASP.NET Web Matrix Project
って何が違うんですか?

0778nobodyさん2007/06/17(日) 03:18:45ID:???
マトリクスの方は2003の評価版的な位置付けだったように思う
なので.net frameworkは1.0バージョンを使ってたような。
で2005express エディションの方は.net framework2.0のバージョン
今からやるなら特別な事情がない限り2005の方で良いと思うよ
って思うばっかりだ…
0779nobodyさん2007/06/18(月) 13:42:38ID:mOIPphwJ
FromViewのインサート時に、主キー部分に初期値を入れたいんだがどうするの?

FormView外で検索キーの値入れてさせて検索ボタン押下
データなければFormViewをインサートモードに
このときに、DBの主キー部分に、初期値を設定したい。

0780nobodyさん2007/06/19(火) 17:47:32ID:???
マスターページをつかってみたんだが
マスターページの中のページを表示すると
マスターページ内で指定したフォルダの位置も
中のページといっしょの相対位置になるんだが、
これだと、たとえばマスターページで画像とか表示してると
マスターページと同じ階層にある中のページを表示するときはいいんだが
ほかのフォルダにある中のページ表示すると画像が表示されなくなってしまう
どうすればいいんだろう
0781nobodyさん2007/06/19(火) 20:09:39ID:???
>>780
ルート演算子 (~)
http://msdn2.microsoft.com/ja-jp/library/ms178116(VS.80).aspx
0782nobodyさん2007/06/19(火) 20:16:47ID:???
>>779
FormView1_ItemInsertingでFindControlでもして
値設定したら?
0783nobodyさん2007/06/20(水) 00:38:15ID:???
お客様「以前VS.NET2003で開発して貰ったASP.NET1.1のウェブアプリなんだけど,
VS2005で開発環境統一できるよね?コンパイルし直すだけでしょう?」

模範解答求む・・・
0784nobodyさん2007/06/20(水) 00:58:45ID:OfClaPpz
現在ASP.net(C#)で掲示板を作成しているのですが、
投稿内容を画面に連結する為に下記コードを記述しているのですが
改行されません。

string str_contents = "hoge";//動的に画面で入力された内容が格納
               //される。

this.Label1.Text += str_contents + "\r\n\r\n";

Windowsアプリの場合だとこれで改行出来るのですがASP.netではなぜ
改行されず連結されてしまうのでしょうか?
0785nobodyさん2007/06/20(水) 01:52:25ID:???
>>784
asp.netはhtmlベースで出力されてるから。
\r\nで出力すると画面上では改行されすhtmlのソースを見るとしっかり改行される
で質問のブラウザ上で改行させるには<br />で明示的に改行する必要がある
07867842007/06/20(水) 01:54:23ID:OfClaPpz
>>785
this.Label1.Text += str_contents + "\r\n\r\n";
  ↓
this.Label1.Text += str_contents + "<br />";
とすれば良いのでしょうか?

ちょっと試してみます。
ありがとうございました。
07877842007/06/20(水) 01:58:48ID:OfClaPpz
>>785
確認したところ正常に動作しました。
ありがとうございます!!
0788nobodyさん2007/06/20(水) 02:22:39ID:???
ほんの少しくらいはWebとかHTMLを勉強したほうがいいと思うよ…
0789nobodyさん2007/06/20(水) 02:23:50ID:???
ついでに後々のためにHtmlEncodeもかけとけ。
あ、<br/>追加するのはかけた後でな。
0790nobodyさん2007/06/20(水) 11:36:46ID:???
>>783
模範解答ではないが「開発環境統一」が目的なら出来んじゃね?
今後は2.0で動すのだから、追加されたコントロールとかプロバイダとかを
利用する方向性は「開発環境統一」とは別に考えなきゃならんけど。

http://www.microsoft.com/japan/msdn/vs05/aspnet/migratefromaspnetto2.asp
07917832007/06/20(水) 20:53:54ID:???
>>790
プロジェクトファイルは更新されるだろうけど
ソースコードは更新されないのかちょっと不安。
ASP.NET2.0方式(?)の部分クラスを利用したコードに置き換わる?
(そうなると思いたい・・・。)
とりあえずVS2005でもプロジェクトをビルドするだけなら大丈夫・・・と。

あとぐぐったところASP.NET1.1と2.0のウェブアプリの共存とかも
別のアプリケーションプールを利用すれば可能みたいなので,
他のウェブアプリと衝突することもなさそうで少し安心。

サーバ側には.NET Framework2.0を入れるくらいだろうし
意外と簡単かな・・・。

コードインラインや/Codeディレクトリも魅力的なんだけど
優先順位を考えると残念ながら今回は見送ることになりそう。

ということでちょっと試してみて問題なさそうだったら安く見積もってみます。
基本設計書のソフトウェア構成部分がちょこっと変わるくらいで
あとはその他簡単な資料の作成かな・・・作業するのも自分だけど
参考になりました。ありがとー。
0792nobodyさん2007/06/20(水) 21:37:22ID:???
>>791
旧バージョンの .NET Framework を使用して作成されたアプリケーションを、
新しいバージョンの .NET Framework で実行できるだけだからASP.NET 1.x
コードがASP.NET 2.0 でも正常に動作するってだけ。

コントロールで言えばDataGridなんかもGridViewに置き換えられて2.0では
デフォルトでは表示されてない。で、クラスなんかも同じで利用できるが非推
奨になっていたりするのもある。

で、「ASP.NET2.0方式(?)の部分クラスを利用したコード」ってのがどう言うのを
想定しているか分からんし、かなり前に移行したので記憶が薄いのだが、
確かプロジェクトファイルとかweb.config(互換モード)とか以外はソースに変
更は無かったと思う。
0793nobodyさん2007/06/20(水) 21:48:12ID:???
>791
VisualStudio2005SP1ならWebProjectが追加されてるから
変換は難しいことじゃないと思う。
この場合App_Codeフォルダは追加されない。partialクラスへの移行は
されることはされるが、想定しているのとはチョット違って
各aspxにdesigner.csというのが追加されて、こいつにコントロールの宣言が分離される。
通常の2.0アプリだとdesigner.csは隠蔽されてて見えなくなる。
SP1で変換するのがオススメ。
0794ななし2007/06/20(水) 23:46:14ID:OfClaPpz
質問があります。現在、ASP.net作成のページにチェックボックスを
貼り付け、イベントハンドラを下記コードで実装しました。

// チェックボックスにチェックが入った場合に走らせるコード
protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
Debug.WriteLine("テスト");
}

本来であれば、WEB画面上のチェックボックスにチェックが入れられた
タイミングでイベントが走るかと思うのですが、なぜかうまく
チェックイベントが走らないのでしょうか?

0795nobodyさん2007/06/21(木) 09:15:45ID:???
>>794
AutoPostBack=False
0796nobodyさん2007/06/21(木) 17:55:51ID:???
>>781
アリガトン うまくいったよ

だが、ここでまた疑問なんだ
テーブルタグとかのバックグラウンドに指定してるイメージだと~つけてやっても表示されないんでつよ
runat=serverもつけてるんだけど Imgにしかつかえんのかな?
0797nobodyさん2007/06/21(木) 23:08:54ID:???
>>796
backgroundやStyleのbackground-imageで指定してないか?

~ 演算子が認識されるのは、サーバー コントロールとサーバー コードのみ。
runat=server付けようと「style="background-image:url('~/image/aaa.gif')"」なんてのは
ASP.NETを経由しないからパスが変換されない。

ASP.NETのコントロールを使うなら
<asp:Table BackImageUrl="~/image/aaa.gif"
HTMLのタグでやるのなら
<table style="background-image:url('<% =Request.ApplicationPath %>/image/aaa.gif')"
07987942007/06/21(木) 23:33:58ID:ExlQRAz6
>>795
出来ました。ありがとうございます。
0799nobodyさん2007/06/22(金) 00:10:00ID:???
>>798
でもチェックボックスを押す度にPostBackの影響でページ全体が再読込されてウザイよ。
そういう場合はJavaScript使って制御したほうがいい。
0800nobodyさん2007/06/22(金) 14:56:17ID:???
ある2chねらーが同時には一個のファイルしかダウンロードできないようにするには?
0801nobodyさん2007/06/22(金) 17:44:33ID:???
>>797
再度トンクスです
<% =Request.ApplicationPath %>も使ってみたが
これだとデザインモードで表示されないんよね
デザインモードでも表示できれば言うことなしなのに
08027982007/06/24(日) 16:10:02ID:00lmWVO6
>>799
確かにチカチカして嫌な感じですね。。。
折角出来たのにちょっぴり勿体無い気もするのですが、
取敢えず「ボタン押下」イベント時にやりたい処理を集約する事にしました。

もう一つ質問させて頂きたいのですが現在アクセスログを解析する為に
下記コードを記述しIPアドレスの取得は出来ているのですが
  //ユーザーの IP アドレス
  string str_user_host_address;
  str_user_host_address = Request.UserHostAddress.ToString();
@IPアドレス
Aリモートホスト
B使用プロバイダー
C使用PCOS
D使用ブラウザ
Eポート番号
を取得するにはどうすれば良いでしょうか?
0803nobodyさん2007/06/24(日) 21:01:45ID:???
>>802
Request.ServerVariables(***)

1.REMOTE_ADDR
2.REMOTE_HOST
 (IISの設定が必要。デフォルト設定ではネットワーク負荷を考慮してるのでREMOTE_ADDRと同じ値が返る。)
3.「2.」から自分で求めろ
4.HTTP_USER_AGENT
 (OSだけが必要なら切り出し)
5.HTTP_USER_AGENT
 (ブラウザだけが必要なら切り出し)
6.????
 (サーバ側のポートならSERVER_PORT)
08048022007/06/24(日) 21:37:22ID:00lmWVO6
>>803さん
ありがとございます。
解決しました。かなりお詳しいですね。俺も頑張らないとです。
0805nobodyさん2007/06/25(月) 00:15:50ID:???
つかRequestのプロパティに大半はあるでそ。
0806nobodyさん2007/06/25(月) 23:11:39ID:rEXmW80k
ツールボックスからWEBデザイン画面に貼付けたTextBoxコントロール
のフォント
 ・背景色
 ・文字色
を変えるにはどうすれば良いでしょうか?


0807nobodyさん2007/06/26(火) 01:56:01ID:???
デザインモードにして該当textboxのプロパティで設定できない?
もしくは.cs側でtextbox名.FontColorとか
0808nobodyさん2007/06/27(水) 00:18:34ID:???
>>806
右クリックしてスタイル。
0809nobodyさん2007/06/27(水) 01:30:25ID:???
本格的なものを目指すなら、スタイルシート使え。
08108062007/06/27(水) 02:06:35ID:/oPl1OwR
>>807
textbox.ForeColor しか出て来ませんでした。


>>808
プログラムから色を制御したいと考えていますが
なかなか出来ません。。。
■ このスレッドは過去ログ倉庫に格納されています