【質問】ASP.NETスレ Part4【議論】at PHP
【質問】ASP.NETスレ Part4【議論】 - 暇つぶし2ch237:nobodyさん
07/10/24 12:38:49
>>234
1.SelectMethodに全ての条件+処理フラグの引数を作る。
2.SelectedParameterに項目+ボタン区別用のhiddenをControlParameterとする。
3.ボタンを押されたらASP側のクリックイベントでhiddenにフラグをセットする。
4.ObjectDataSourceの中身で処理フラグによって処理を分ける。

「2.」「3.」はSelectParametersをasp:Parameterにしておいて動的に変更すれば
hidden項目自体要らない。


238:nobodyさん
07/10/24 16:35:10
質問者に対する回答でもなくて、
ユーザービリティを自分が経験した事だけでしか想像できなくて、
わけ分からん描画の遅い早いを持ち出す、
的外れてる奴が出てきたなと。


239:nobodyさん
07/10/24 23:22:33
お前ら全員死ねよ

240:nobodyさん
07/10/24 23:27:23
過激なやつだ…


241:nobodyさん
07/10/25 21:16:47
お前ら全員愛してる

242:nobodyさん
07/10/25 21:39:46
キスして

243:nobodyさん
07/10/26 00:57:34
屁こいてやったぜ

244:nobodyさん
07/10/26 15:36:23
MSDN2みたいに、メニューバーエリアを選択したら、そのメニュー項目が
Popupメニューのようにフェードイン・フェードアウトして一覧表示される
にはどうすればよいですか?

245:nobodyさん
07/10/26 17:05:56
>>244
1.MSDNのjavascriptを解析して組み込む。
2.Popup Menuのjavascriptライブラリを利用する。
 ASP.NETの場合は、HTML上に表示されるコントロールID(ClientID)をライブラリに割り付ける方法は考える必要があり。
3.ASP.NET AJAX Control ToolkitのPopupControlExtenderを利用する。
 ASP.NETのほかのサーバコントロールと同じように作成できるが、
 Javascriptが隠蔽されるとか、コントロールの使い方を覚えないといかないはとかで理論が分かりにくい。

PopupControlExtenderの場合は<Animations>にこんな感じで指定すれば動く。
<Animations>
<OnShow>
<Sequence>
<StyleAction Attribute="overflow" Value="hidden"/>
<StyleAction Attribute="height" Value="0"/>
<StyleAction Attribute="width" Value="0"/>
<HideAction Visible="true" />
<Parallel Duration=".2" Fps="15">
<Resize Height="50" Width="125" Unit="px" />
</Parallel>
</Sequence>
</OnShow>
<OnHide>
<Sequence>
<StyleAction Attribute="overflow" Value="hidden"/>
<Parallel Duration=".2" Fps="20">
<Resize Height="0" Width="0" Unit="px" />
</Parallel>
<StyleAction Attribute="display" Value="none"/>
</Sequence>
</OnHide>
</Animations>

246:216
07/10/27 14:04:47
>>237
この方法で実装できそうです。
前から気になっていたのですっきりしました。
「asp:Parameter」という部分が理解できませんが別途調べますね。
ありがとうございます。

247:nobodyさん
07/10/27 17:04:02
>>246
SelectedParameter
<asp:Parameter Name="flg" Type="String" />

ボタン1処理
ObjectDataSource.SelectParameters.Item("flg").DefaultValue = "処理1"

ボタン2処理
ObjectDataSource.SelectParameters.Item("flg").DefaultValue = "処理2"

とすれば、hiddenを経由しなくても動的に値を変化させられる。
hiddenの方がコントロールを経由するので直感的かもしれんが、
無駄なhiddenを作る必要が無かったりするので。

248:216
07/10/28 16:18:54
>>247
せっかくヒントをいただいたので自分で調べようと思っていたのですが
ご丁寧にありがとうございます。
<asp:Parameter>
というのはGUIで作成するところで言う
パラメータソースが「None」のものですね。
Noneてどういう時に使うのかと思っていました。
こちらを組み込んだところ無事動作が確認できました。
ありがとうございました。


249:nobodyさん
07/10/29 00:16:00
ASP.NETの勉強サイト、またはTips集のサイトを教えてください!!!

250:nobodyさん
07/10/29 00:54:42
>>249
Tips集というかサンプル集
URLリンク(www.friendlysw.com)
ここのASP.NETサンプル
とか。

勉強サイトについては聞き方として漠然としてよろしくないと思います。
URLリンク(www.google.co.jp)


251:nobodyさん
07/10/29 01:47:16
>>249
ほとんど分からないのなら
一通りの機能には触るので>>2のMicrosoft ASP.NET
クイック スタート チュートリアルを最初の項目から順
にやっていくといいよ。

ただ、>>2のリンクはasp.net 1.1版なので2.0の場合は
web上では公開されて無いので「ASP.NET 2.0 クイック
スタートチュートリアル」をインストールしてみるといい。

最低限このクイック スタート チュートリアルの内容が
全て分かって無いとTips集なんか見ても理解できないかも。

252:nobodyさん
07/10/30 12:03:08
>>250-251
ありがとう。

253:nobodyさん
07/10/31 06:14:37 Ln67m40J
テキストボックスに入力されている文字列が数値かどうか判断するために
ReularExpressionValidatorを利用しています。
VaridationExpressionプロパティに「^[0-9]+$」を設定したのですが
半角スペースをのみを入力した場合IsValidateがTrueを返してしまいます。
半角スペースが入力された場合の対応としてはどういう対処が必要でしょうか?


254:nobodyさん
07/10/31 08:47:21 KCIK9HQ4
SQLServer2005への接続文字列で
DateSource:サーバー名\SQLEXPRESS
とSQLEXPRESSを付けないと接続できないけどこれは変更できるのでしょうか?
それともEXPRESS Editionを使用しているからでしょうか?

255:nobodyさん
07/10/31 10:48:10
>>254
DBMSのインストール時に名前付インスタンスにしてしまったら無理
既定のインスタンスでインストールすればインスタンス名無しでいける
Books On Lineをインストール前に入手して読めばわかることなんだけどね

256:nobodyさん
07/10/31 12:52:23
>>253
function RegularExpressionValidatorEvaluateIsValid(val) {
var value = ValidatorGetValue(val.controltovalidate);
if (ValidatorTrim(value).length == 0)
return true;
var rx = new RegExp(val.validationexpression);
var matches = rx.exec(value);
return (matches != null && value == matches[0]);
}
function ValidatorTrim(s) {
var m = s.match(/^\s*(\S+(\s+\S+)*)\s*$/);
return (m == null) ? "" : m[1];
}
上から分かるように、Validatorはスペースのみと入力なしを区別してないので、
ASP.NET側の処理もTrimするなりで合わせとくとか、CustomValidator(ValidateEmptyText="True")で
自作するとか、Javascriptで同じfunction名で処理を上書きして書き換えちゃうとか色々。

>>254
ASP.NETと関係ないし。
URLリンク(www.microsoft.com)
こことか参考にして理解した上で好きなようにしてください。


257:nobodyさん
07/10/31 14:35:49 KCIK9HQ4
>>255
勉強になりました。

258:nobodyさん
07/11/04 02:42:02
gridviewのrowを編集モードにして、値を入力する際に、
Javascriptを使用して、winodw.openで子ウィンドウを開いて、
そこから値を選択し、親windowの編集モード中のrow内のtextbox1に、
子Windowsで取得した値を入れたいのですが
detailviewには下記のようにして値を直接入れられるのですが、

-子windowで値選択時のコード-
Protected Sub GridView1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles GridView1.SelectedIndexChanged

Dim str As String = GridView1.SelectedRow.Cells(1).Text

Dim strScript As New System.Text.StringBuilder
strScript.Append("<script language=javascript>")
strScript.Append("window.opener.document.form1.DetailsView1$TextBox1.value = " & str & ";")
strScript.Append("</script>")

RegisterStartupScript("window", strScript.ToString)

End Sub

gridview内のtextboxに入れようとすると
strScript.Append("window.opener.document.form1.GridView1$ctl02$TextBox1 = " & str & ";")
というように編集中のrow数を指定すれば入れられるのですが、
これはどうかと思い、別方法を考え
親側のform1内にhiddenコントロールを配置し、そこに値を渡してポストバックして、
page_loadでそのhiddenコントロールの値を編集中のrowのtextbox1に渡すことを考えたのですが
編集中のrow内のtextbox1への値の入れ方が分かりません。
page_load内にどのように書けば編集中のrow内のコントロールに値を渡せるでしょうか?


259:nobodyさん
07/11/04 18:41:36
今手元に本がないので曖昧なのですが、
「Sessionには、~と、シリアル化できるオブジェクト(?)を渡す事ができる」
と書いてあったと思います。
シリアル化とはどういう意味なのでしょうか??

あとエラー処理で
「エラーは多数の行のコードをtry,catchで囲むのではなく、エラーの起きる可能性のある
行を1行ごとにtry,catchで囲むのが良い」
と書いてあったように思います。
もし、1行ごとに囲むならば、Exceptionの詳しい内容を調べる必要があると思いますが、
Exception一覧、というが載っている資料もしくはURLがありましたら教えてください。

よろしくお願いします。

260:nobodyさん
07/11/04 20:56:58
>>258
TemplateFieldを使って無いのならば、例外処理とか除いているが
CType(gridView.Rows(gridView.EditIndex).Cells.Item(1).Controls(0), TextBox).Text = "aaa"

>>strScript.Append("window.opener.document.form1.GridView1$ctl02$TextBox1 = " & str & ";")
>>というように編集中のrow数を指定すれば入れられるのですが、
>>これはどうかと思い、別方法を考え
row数を指定するんではなくて、
gridView.Rows(gridView.EditIndex).Cells.Item(1).Controls(0).ClientID
で現在編集中の行のHTML上のテキストボックスの名前が取得できるので
この値を利用してJavascriptを作り出せばhiddenコントロールもいらないと思う。

>>259
>>シリアル化とはどういう意味なのでしょうか??
URLリンク(e-words.jp)
.NETでなら、簡単に言えばクラスがISerializableインターフェイスを実装しているか。

例)DataTable
URLリンク(msdn2.microsoft.com)(VS.80).aspx
URLリンク(msdn2.microsoft.com)(VS.80).aspx


ちなみに、セッションがInProcモード なら、シリアライズ不可能なオブジェクトも
セッション変数に格納できます。

>>Exception一覧、というが載っている資料もしくはURLがありましたら教えてください。
例外が発生する可能性のあるクラスのメソッドをMSDNで調べてください。

例)System.IO.File.Delete メソッド
URLリンク(msdn2.microsoft.com)(VS.80).aspx


261:nobodyさん
07/11/04 21:21:19
>.NETでなら、簡単に言えばクラスがISerializableインターフェイスを実装しているか。
違うだろ。


262:nobodyさん
07/11/04 22:13:07
>>261
今まで大した質問にも答えてもいないのにこう言った
揚げ足とりにだけ必死にならずに説明すりゃいいのに。
ISerializableが必須で無い理由など詳しく説明してあげてくださいな。


263:nobodyさん
07/11/04 22:20:10
>>260
ありがとうございます
ISerializableインターフェイスですか!
セッションInProcモード初耳でした

エラー処理は一つ毎にExceptionを書くと面倒なことになりそうですね
みなさん(というか実際の業務では)どう書いているんだろう・・・

264:nobodyさん
07/11/04 23:02:03
ISerializableはシリアライズ処理のカスタマイズ用インターフェイス。
シリアライズ可能であることを示すのはSerializable属性。
ISerializableを実装しててもSerializable属性がついてなきゃシリアライズ不可。
ISerializableを実装して無くてもSerializable属性がついてればシリアライズ可。
独自のシリアライズ処理を行いたい場合のみISerializableを実装する。
これで満足か?



265:nobodyさん
07/11/04 23:04:46
>今まで大した質問にも答えてもいないのにこう言った
>揚げ足とりにだけ必死にならずに説明すりゃいいのに。

必死て、ていうか揚げ足じゃなくて間違ってんだろうに。
まあ俺は困らんけど>>259は困るんじゃないのか?


266:nobodyさん
07/11/04 23:10:40
>ISerializableを実装して無くてもSerializable属性がついてればシリアライズ可。
あと、これはメンバが全部シリアライズ可能な場合など制限はある。
あと基底でISerializableを実装してる場合は派生でオーバーライドしなきゃならない場合もある。

あとInProcだと確かにシリアライズできなくてもいいんだが、
なんというか後々のことを考えるとシリアライズできるもののみにしといた方がいい。


267:nobodyさん
07/11/04 23:12:34
>>265
いやだから揚げ足だろうが実際間違ってようが
間違ってるって言いたいならそれを書けよって言われてるんだろ?
「違うだろ」ってだけ書いてもなんの解決にもならないから。

261で違うだろっていって、そのままそこに何が間違ってるか回とけば良かったんだよ。
言われてから後発でこれでどうだって言うぐらいなら最初から言えよって話なんじゃないの。

なんにせよ無駄な時間だろ?
>>261の時点で理由も書いてりゃ>>262自体存在しねえんだから。

268:nobodyさん
07/11/04 23:32:13
>>264
満足です。
まぁ、本当は「ISerializableを実装して無くてもSerializable属性が
ついてればシリアライズ可。」の揚げ足取ろうとしてたら、>>266
多分、>>261?が補足していたので消したけどね。

>>265
個人的にはSerializable属性を付ければシリアライズされますと言うのは
>>266のように単純では無い事もあるので、>>259がここら辺をあまり理解
していない物として、ISerializableで検索でもしてオブジェクトをシリアライズ
する過程を調べてもらおうと思ったんだがね。
だから、ISerializableインターフェイスを実装しているものが、セッションに
入れられますと言ったつもりは無いんだがまぁ、間違ってるといわれれば
仕方ない文章なのはすまない。

このスレ盛り上げようと、ほとんどの質問に答えてたのだが、もう少し勉強
しないと駄目だなw


269:nobodyさん
07/11/05 00:02:19
>>265
意味不明。俺にとっては>>261の方がただの横槍なのか、
指摘してるのか分からんだけ>>259が困ると思うけどね。

そもそも掲示板なんて間違いを教えられる可能性もある事が
前提なんだから自分で調べるのは基本だろ。

270:nobodyさん
07/11/05 00:36:53
そうか?
違うだろ、があるのと
何も無いんじゃ、
これから調べるにしても少なくともないより間違いにくいと俺は思うけど。


271:nobodyさん
07/11/05 00:38:04
>>266のように単純では無い事もあるので、>>259がここら辺をあまり理解
していない物として、ISerializableで検索でもしてオブジェクトをシリアライズ
する過程を調べてもらおうと思ったんだがね。

こういうのは、お前が思ってるだけで特に分からないヤツには明確に書かてあげないと意図伝わらないだろ。

272:nobodyさん
07/11/05 00:40:15
>>265>>262の後半のつまり説明しろに対して書いたんじゃなくて
余計なこというな、に見えた部分に対して書いたんだすまん。


273:nobodyさん
07/11/05 00:46:15
今は大丈夫っぽいけど昔はシリアライズからみは間違った解説がいっぱいあったからな~
XmlシリアライズするためにSerializable属性が必要とかISerializable実装するとか
Serializable属性ついてるのにXMLシリアライズできないバグがあるとか
上で出てきた話とかいろいろいろいろw


274:253
07/11/05 03:13:44
>>256
ASP.NET側とJavaScript側で動作が違うので
CustomValidatorを使用して自作することにします。
ありがとうございました。

275:nobodyさん
07/11/05 08:54:54
>>270
ないない
そもそも、「これから調べるにしても少なくともないより間違いにくい」とか
思ってる奴なら詳細を説明しようとするもんだ。

276:nobodyさん
07/11/06 06:57:01
これで満足か? きめぇwwwwwwwwwwwww

277:nobodyさん
07/11/06 18:19:56
既出かもしれませんが、とりあえずこのスレのはじめからは読みました。

PageA⇒PageB⇒PageA' と遷移したとき、PageA'に戻ったときに、
PageAの状態をそっくりそのまま復元する方法は、はやりViewStateを
Sessionに保存するのが一番いい方法でしょうか?
いろいろ探して URLリンク(d.hatena.ne.jp) をみつけたのですが、
どうもASP.NET Ajaxを使用しているせいか、
「このページ状態は無効です。壊れている可能性があります」
とエラーが表示されてしまいます。
ヒントとなるようなソースもしくはサイトをご存知でしたらご教授いただけると助かります。

また、個別のコントロールをSessionに保存する方法でも結構です。

どうぞよろしくお願いします。

278:nobodyさん
07/11/06 18:25:38 zErdHZrx
↑環境を記述するのを忘れていました。
開発環境
 WindowsXP Pro
 VS2005Pro
 C#
 ASP.NET Ajax
です。

初代VS.NETからサポートに入っていますが、今だによく分かっていませんorz

279:nobodyさん
07/11/09 08:54:04 AOsg/er1
VS2005のASP.NET(VB.NET)でWebページを作っています。
デフォルトの設定だと半角の「\」(円マーク)が出ないので、globalizationをShift_jisにしたのですが、
今度は全角の「~」(波線)が?になってしまいます。
ASPで作っていたときは特に表立った問題は起きなかったのですが、ASP.NET下で両立させる
設定はできないのでしょうか?
OSはWinXPと2K、ブラウザはIE6です。
パッチ類は一通り当たっている状態です。


280:nobodyさん
07/11/09 23:45:36
¥

281:nobodyさん
07/11/10 21:52:12 IaYZNmi9
~(波ダッシュ)は化けないでしょ。?全角チルダ(XPや2Kでは下がって上がる波の形)は駄目だけど。
UTF-8でも5Cをバックスラッシュではなく円マークで表示する日本語フォントにすればいいかもね。

文字コード関係の知識がないとこれからも困るだろうに。

282:nobodyさん
07/11/11 10:03:08
>>281
レスどうもです。
それが、JISだと「~(IMEをOnにして~)」を入れると?で表示されるんです。
また、UTFにすると表示はされますが、ここで見えるようなきれいな形の~ではなく、汚い
フォントの全角チルダ?になっているようです。
どこかで表示フォントを指定する必要があるのでしょうか?
同一Webサーバー内で動いているASPの方はそんなことお構いなしで表示できているのに、
.NETだとダメなのでサーバーに依存しているわけではないというのは判るのですが・・・。
ASP.NETは始めたばかりで、いろんなことが便利に使える反面、複雑で判らないことが多く
かなり苦労してます。orz


283:nobodyさん
07/11/11 12:06:32
ブラウザの言語設定がおかしいとかじゃねーの?

284:279
07/11/12 13:14:42
「~」が「?」になるのはOracleの問題でした。
あまりかしこいやりかたではありませんが、globalizationをShift_jisにして\が出るようにし、
DBへの接続をODP.NETからOLEDBに変更して対応させました。
コメントしてくれた方々、ありがとうございました。


285:nobodyさん
07/11/13 23:29:46 JHc7eDB0
Response.Cookiesでクッキーの値を取得できますが
サーバサイドでクッキーの値を扱うということは
クッキーの内容を全てサーバに送信してるってこと?

286:nobodyさん
07/11/13 23:41:38
そうです。

287:nobodyさん
07/11/14 01:18:40
微妙に不思議な表現だなw


288:nobodyさん
07/11/14 17:35:47
GridViewにSQLserverからSELECTしてきたデータをバインドしたいです。
テキストボックスの値をWHERE句に読み込んで…という形なのですが、
SQLcommand.Parameters.AddWithValue("@hage",hage)
というようにすると、このあとデータセットで返すことが出来ず、バインドできません。
普通にテーブルアダプタ作ってFillする方法だと、今度はAddWithValueが使えずセキュアになりません。

一応、データセットデザイナだか何だかのGUIウィザードで
パラメータ有のバインドが出来ましたが、
コード上でどうにかできないでしょうか。

SQLCeCommandにはResultSetという
バインド可能なオブジェクトを返せるのがあるようなのですが…

289:nobodyさん
07/11/14 17:54:37 jLRgJntu
VS2005のASP.NET(VB.NET)を使っています。

databindでラジオボタンが複数選択できてしまうので
単一選択ができるカスタムコントロールを作ろうとしています。

URLリンク(www.microsoft.com)

この通りにやって、サンプルのコードをコピペすると、
Imports System.Web.UIが見つからない、というエラーが起こります。
新規のプロジェクト作成時のパスは今のアプリケーションルートの下で
いいのでしょうか?

290:nobodyさん
07/11/14 18:40:57 jLRgJntu
>>289で書きこんだものです。
単純に参照設定ができてなかったようです。
追加で参照設定をしたところ読み込めました。

291:nobodyさん
07/11/14 21:36:10
.NETでお絵かき掲示板を作ろうと思っています。
お絵かき部分のJavascriptは検索していくつか候補があるんですが、
その結果をどうすれば反映できるのかが分かりません。
Javascriptの内部で画像として保存、それからリンクを張るとかだとUI的に面倒なので
Canvasに絵を描く、コメントを打ち込む→投稿ボタンを押す
だけで一気に画像の保存からコメントの投稿まで終わらせたいと思っています。
が、コメントはテキストボックスにいれておけば、ボタン押下でPOSTされてきますが
JavaScriptのCanvasに描かれた絵の部分は一体どこから取得すればいいんでしょう?
そもそも絵のデータは一体どこに保持されているんでしょう。

292:nobodyさん
07/11/14 21:38:05
方法として2種類考えています。
SVGのデータとして結果をDBに格納してそれを表示時に再反映する方法。
投稿の時点で画像としてサーバに保存し、そこにリンクを張る方法。
別にどちらでも構わないんですが、どちらの方が簡単に実装できそうでしょう?


293:nobodyさん
07/11/29 09:52:52
GridViewの条件検索でDropDownListを使っています。
静的項目として「すべて」という項目を作り、
AppendDataBoundItems=trueにしています。
SqlDataSourceのSQL文のWHEREの対象句が文字列であれば
例:「…WHERE (Book like @Book)」として項目「すべて」のValueを「%」に
しておけば、選択されたらすべてが表示できるのですが
以下のように、対象句がIntの場合

SELECT ID, Book FROM tbl_Book WHRERE (ID = @ID)

DropDownListで「すべて」が選択された場合にすべてを表示
させる動きにするにはどのようにしたらいいのでしょうか?
使用しているデータベースはSQLSERVER2005EXPRESSです

294:nobodyさん
07/11/29 17:46:04 rMbVmK8t
SelectionChanged かなにかのイベントで
場合分けしたらいいんじゃないのかな。

295:nobodyさん
07/12/04 14:38:47 l2Tev5nw
ASP.NETで画面をHTMLで作成する時、Labelがずれちゃったりテーブルの高さが
おかしくなったりするんですけど、これってどう対処すればいいですかね?
Widthを調整したり、全角と半角で微調整ってのは一応わかってるんだけど他に何か
うまいやり方ってあるかな?

296:nobodyさん
07/12/04 18:19:09 l2Tev5nw
295です。
画面設計についてはVisualWebDeveroperのヘルプに書いてありました。
ネットで検索するよりヘルプの方が情報量多いね。盲点だった。

297:122x218x24x97.ap122.ftth.ucom.ne.jpfieojfefe
07/12/05 11:39:13 bGekTFEd
e

298:ヘルプ
07/12/07 00:22:59
誰かわかる方がいらしたら教えてください。
ASPを使ってネットワークフォルダのファイルを参照したいのですが、うまくいきません。
認証はwindowモードでユーザ偽装をおこない、iiSの統合windows認証のユーザに偽装します。
そこでエクスプローラで
\\マシン名\フォルダ名だと参照できるのに同じユーザでASPにてファイルを参照しようとすると権限にてはじかれます。
どなたかわかりましたらお願いします。

299:nobodyさん
07/12/08 11:13:53
ふらっとで質問したのですが、こちらで聞いた方が良いと誘導されてきました。
あるプロトコルでチャットに接続し、ユーザはIEの画面を通して発言したり
他者の発言を取得して画面を更新したりするプログラムを作りたいと思っています。
以下のような構造になるのかなと考えています。

【ユーザ】←HTTP→【画面側プログラム①】←なんらかの方法→【プログラム②】←→インターネット
①:
ASPで、他者の発言の取得はn秒ごとにポーリングを行う。
(サーバプッシュ型にできればなお良い)
②:
EXEにしてサービス化?ともかく常時起動しており、チャットには繋がりっぱなしにする。
①の状態には依存しない。
ASPにして①と同化させると、ユーザが画面を開くたびにインスタンスが新しくなってしまうのと
ユーザが画面を開かなければインスタンスを作れないので分ける必要がある(と思っている)

そこでよく分からないんですが、まず、IISの起動と終了のイベントを拾って
プログラムを動かすことができるのでしょうか。
可能なら、①と②を一緒くたにして、IIS起動でチャット接続して、その状態をstaticメンバにして
全インスタンスで共有し、終了で切断するということでASP一本にできると思ってます。
これは可能でしょうか。

もう一つ、分ける場合には①と②で情報のやりとりをする必要があります。
②でインタフェースを提供し、①はそれを呼び出すだけという形にしたいです。
①から見たときに利用を簡単にしたいので、できればWebサービスとしてインタフェースを
提供できないかなと思うのですが、②がASPじゃなく普通のEXEの時に、②でWebサービスを
実装するにはどのようにすればいいのでしょうか。
(②がASPなら、IISが良きに計らってくれますが…)
また、Webサービスが無理ならどういう方法で通信するのがベターでしょうか。プロセス間通信とか?

妄想段階なので曖昧な点が多いのですが、アドバイスをいただければ幸いです。
よろしくお願いします。

300:nobodyさん
07/12/08 22:03:20
①のApplication_Startで②の処理開始すりゃいいんじゃねーの普通は。


301:nobodyさん
07/12/08 22:20:28
ありがとうございます。
ちょっと確認させてください。
Application_Startは、IIS起動後最初のユーザがページにアクセスして、
一つ目のインスタンスを作る時に発生。
Application_Endはすべてのセッションが切断された時に発生。
という認識であってるでしょうか。
できれば、IISからWebサイトを起動した時と停止した時にイベントを拾いたいのですが、
そういうイベントはありませんでしょうか。


302:nobodyさん
07/12/08 23:10:32 qOs8ePBr
今日からASP.net始めました。よろしくお願いしますw
すみません。厳密にはVisual Studio 2005の使い方になってしまうかもしれませんが……。

ASP.netで使用中のデータベースの内容を見ようとしたのですが、サーバーエクスプローラの「データ接続」から.mdfファイルを開く(データベースに接続する)ことが出来ません。
「ユーザーの既定データベースを開けません。 ログインに失敗しました。
ユーザー 'hostname\username' はログインできませんでした。」
というダイアログが表示されます。
接続文字列内でAttachDbFilenameでファイル名を指定しUser Instance=Trueとして接続すると、こういう使い方は出来ないのでしょうか?

303:nobodyさん
07/12/08 23:12:09
一つ目のインスタンスってなんのこと?
Application_Endはアプリケーションがシャットダウンされるとき。
通常はユーザのアクセスが一定時間無かったとき。
サイト起動時ってのはASP.NET側ではない(まだ動いてもいないから)

サイト起動時にやらないといけない理由があまり見当たらないんだが…


304:302
07/12/08 23:12:38
追伸です。
まだSelect文しか流してはいませんが、ASP.net側ではとりあえず接続は出来ているようです
>問題のデータベース

305:nobodyさん
07/12/08 23:14:08
>>302ASP.NETで使用中とは、IISで運用中ってことかい?
IISで動作中は、例えばIIS6だとNETWORK SERVICEユーザが使用中だから、
User Instance=Trueでは使えないはず。


306:nobodyさん
07/12/08 23:23:50
>>303
ユーザが画面を開いていないときでも、チャットには繋げっぱなしにしたいのです…。
とりあえずWebサーバ起動時に繋げにいって、チャットの書き込みをサーバのログに吐く。
ユーザは必要な時だけWebサーバにアクセスするという形で。

自分だけが使うものなので、最悪、起動時は必ず画面を開いてApplication_Startを
呼んでやるという形でもいいのですが、終了時はApplication_Endでチャット切断処理を
やってしまうと、ユーザからのアクセスが無いときに勝手に接続が切れてしまうので…。
かといってどこかに明示的な切断を入れないと、アプリ終了後もタイムアウトするまで
チャットに居座りっぱなしになる行儀の悪いプログラムになるなあと。

ユーザの状態に依存しない開始と終了イベントを取れれば、
ユーザは必要な時だけWebサーバにアクセスし、ユーザはサーバ側のチャットへの
接続状態を気にしなくて済むようになり、サーバ側もユーザの接続状態を
考えなくて済むようになると思いまして。

画面側にはWebサービスとして、チャットで発言するメソッドと、画面更新のために
最新のチャットログを取得するメソッドくらいを提供してやればいいかなと。

307:302
07/12/08 23:31:32
>>305
早速のお返事どもっす。
こーゆー使い方したかったらちゃんとSQL Server動かせってコトなんですね
……まぁ、「AttachDbFilenameでファイル名を指定しUser Instance=Trueとして接続」するのが「ちゃんとしていない」ってコトはないんでしょうが……。
要はPHPのSQLiteとかJavaのHSQLDB(のスタンドアロンモード)と考えればOKかな?
手軽には使えるけど、ちょっとイヂりたいとかの場合は不便ですなぁ。

308:nobodyさん
07/12/09 00:53:07
んーUser Instance=Falseじゃだめなのけ?


309:nobodyさん
07/12/09 00:57:02
>>306
ようわからん、サイト起動時に接続するんじゃ
もはや切断なんて関係ないレベルですでに十分行儀悪いと思うが。
どうしてもそんな風にしたいんならサービス作るしかないんじゃない?


310:nobodyさん
07/12/09 05:00:17
むぅ
ちなみにEXEで作ってサービス化した場合、その中でWebサービスとして
メソッドを提供することは可能でしょうか?
それとも、WebサービスにしたいのならASPで作らないとダメでしょうか。

311:302
07/12/09 09:59:21
>>308
ダメみたいですねー。今度は本体(ASP.net側)でエラーが出ます
>User Instance=False

312:nobodyさん
07/12/09 18:17:59
Application_Endが呼ばれた後って、Applicationオブジェクトに格納していた
オブジェクトはどうなります?
要するに、ユーザがしばらくアクセスしなかったら、破棄されたりします?

313:nobodyさん
07/12/09 20:29:55
Application_Endが呼ばれるってことはそういうことだ。
まあtimeoutを伸ばすとか終了させないようにする手もあるが、
普通は必要ない。

314:nobodyさん
07/12/09 20:37:11
んー、ようするに、ASPでユーザの状態によらないオブジェクトの維持は無理ってことですかね?
例えば、今日一日のアクセス数を返すようなWebサービスは、変数をファイルに
書き出して保持しないと維持できない訳ですよね?
一番生存期間が長い(と思う)Applicationも、ユーザのタイムアウトによる
Application_Endで破棄されるみたいですし。

315:nobodyさん
07/12/09 22:29:07
だからリサイクルの設定をみんなオフにする手はあるが、
どっちにしても保証はされてないから結局Endで保存、
Startで読み込みとかは必要になる。


316:nobodyさん
07/12/09 22:30:01
あ、いや、Endで保存、Startで読み込みは微妙だな、うまくいかない可能性がある。


317:302
07/12/09 23:04:34
たびたび申し訳ないっす。
TableAdapterを試そうとして少々苦戦しています。
VisualStudioでのビルドは通るのに、実行時に型または「名前空間名 'hogeTableAdapters' が見つかりませんでした」って出るのはどうしてでしょう?

……TableAdapter自体もよーわからんっす。Fillした後、どうやってデータを取り出せばいいんだろう?
「ASP.net 2.0 実戦プログラミング入門」という本を参考にしていますが、あまりいい本ではありませんね。
ちょっと後悔。

318:302
07/12/10 10:37:10 aKqH/kSM
>>317
あ、申し訳ありません。age忘れてましたね。失礼。

319:302
07/12/10 18:53:27
自己解決。↓が足りなかったらしい
URLリンク(www.atmarkit.co.jp)
VisualStudioで面倒見てくれるときとくれない時があるのね。
引き続きTableAdapterに挑戦中……。

320:nobodyさん
07/12/10 22:35:57
おい、PHPスレを荒らしに来てるやつ自重しろクズ

321:302
07/12/11 17:02:22 fZiANqi9
スレ汚しですみません。
TableAdapterの方はなんとなく判ってきましたが、わき道に逸れてGridView+FormViewなんてモノに手を出してます
なんとかマスターメンテらしきモノを作るところまでは出来たのですが、FormView側で登録・更新・削除した結果をGirdViewに表示させることが出来ません。
ググった結果「GridViewのEnableViewStateってプロパティをFlaseにすればOK」という情報までは取得できましたが、この設定にはなにか副作用があるのでしょうか?
単に「初めての表示/明示的な読み込みの結果を保持しておきたい」という目的以外にTrueにする意味はあるのですか?

322:nobodyさん
07/12/13 00:41:26 6Y2No+8T
>>306
コメットを使うことが出来ればやりたいことは実現できそう?

323:nobodyさん
07/12/13 22:05:12
どっからコメットが…


324:nobodyさん
07/12/15 12:37:07
DBからSELECTしてきたDataSet等に、
さらにSQLを投げてDataSetを作成することは可能ですか?

325:nobodyさん
07/12/15 13:24:29
>>324=302

326:nobodyさん
07/12/16 01:51:04
会社の環境はVS2005なのですが、ちゃんと
aspx
aspx.cs
designer.cs
とワンセットで表示されるのですが、家の環境はWebDevelopperで
designer.csがソリューションエクスプローラに表示されません。
aspxなどの場所にdesigner.csファイルもありません。
これはどうやって表示させるのでしょうか?
WebDevelopperはソリューションファイルやプロジェクトファイルも無いんですよ(^^;
なので、いつもファイルをダブルクリックして立ち上げるのではなく
WebDevelopperを開いて、スターと画面から最近実行したソリューションの一覧から選択してる・・・


327:nobodyさん
07/12/16 19:34:30 IvdqqwNS
教えてください。

Repeaterにユーザコントロールファイルをセットして実行し、
ascx.csでRepeater.DataSourceに入っているデータレコードを取得したいのですが
そんな事は可能でしょうか?

this.rep.DataSource = dataTable;
this.rep.ItemTemplate = Page.LoadTemplate("Test.ascx");
this.rep.DataBind();

Test.ascx.csでdataTableのレコードを取得したい。
ascxでは
<%# DataBinder.Eval(((RepeaterItem)Container).DataItem, "name") %>
で取得可能なのですが、これをascx.csでやりたい。
何でかと言うと、この値によって処理を変更したいからです。

お願いしますm(_ _)m

328:nobodyさん
07/12/17 03:20:00
>>324
ds.table.select("id=1")でDataRow[]が取り出せたような…
これでデータセットに対するselect文は実現出来ない?

329:nobodyさん
07/12/17 18:30:50
>>328
ありがとうございます。
発端というのが、SQL文が長くなってしまったので、
DataSetを一時テーブル代わりに、小分けにして実行できないかという
安直な思いつきだったのです。
DataSetを2つ作ってから要素を取り出して、
疑似LEFT OUTER JOINとかやってみたのですが余計に大変だなとw
そんな訳で…申し訳ありません。きちんと背景から書くべきでした。

330:nobodyさん
07/12/19 01:40:10 kIBGOFX3
現在のページのファイル名を取得できる
プロパティとかありませんか?
用途としては自分自身のページにパラメータをつけて
再度呼び出し、Request.QueryString()でその値を
取り出すためです。

331:nobodyさん
07/12/28 00:08:34 EfHkVobu
VWD2005(VB.NET)を使ってます。
javascriptでサブウインドウを作って、閉じる処理をしたいのですが
サブウインドウが閉じない場合があるので回避法を教えて下さい。

awin=window.open('a.aspx', 'a');
awin.close();
この場合うまく閉じる。

awin=window.open('a.aspx', 'a');
ポストバック発生
awin.close();
サブウインドウ閉じない。



332:nobodyさん
07/12/28 20:57:22
>>330
俺は定数で宣言してる。

>>331
a.aspx内にウインドウを閉じるスクリプトを書き、
なんらかのイベントを受け取らせて実行させればいいんじゃね。
つか、ウインドウを開いて何のイベントも発生させず、
しかし、ポストバックを起こして閉じたいなんてどういう用途なんだ。

333:331
07/12/28 22:24:13
>332
回答ありがとうございました。
実際のコードは間に種々の処理がありますが、最小限の再現コードを
書いただけです。

とりあえず、解決しました。
a.aspxからopenerを一定間隔で監視し見つからなければ自身を
閉じることで実現しました。
openerが遷移した際は、opnerにhiddenを埋め込んでおきa.aspx側から
監視することで遷移を判断しました。



334:nobodyさん
07/12/28 22:29:01
Request.CurrentExecutionFilePath 辺りとか?


335:330
07/12/30 22:06:04
Request.CurrentExecutionFilePathと
System.IO.Path.GetFileNameを使って
取り出せました。
ありがとうございました。

336:nobodyさん
08/01/01 21:08:48
しつもんしつもん。

ローカル環境(Web Developer 2005+SQLServer2005)でWebアプリを製作して、
とりあえず動くようになったのでサーバーにアップしたのです。

あ、サーバーはファーストサーバーのエクスプレス2です。無料のね。

なんとかかんとか設定を終えて、いざ実行!・・・したら、エラーがでるのです。

System.NullReferenceException:オブジェクト参照がオブジェクト インスタンスに設定されていません。

ってね。

ローカル環境では問題なく動作するのに、サーバーにアップするとエラーになるってのは、

どうしてなんでしょうか???




337:nobodyさん
08/01/01 22:26:23
オブジェクト参照がオブジェクトインスタンスに設定されていないからだろ

338:nobodyさん
08/01/08 19:46:24
ActiveReportsを64ビット環境でどうにか使えるように出来ないでしょうか?

339:nobodyさん
08/01/12 16:00:40
>>338
それはサポートに聞いた方が早い質問だ

340:初心者
08/01/24 15:18:55 RPd1Q97N
ASP.NET でRDOとかでSQLサーバーに接続できるのでしょうか?
それともAODだけなのでしょうか?

341:nobodyさん
08/01/24 15:36:11 7JZT46In
Hoge.aspxで
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder" Runat="Server">
<asp:Label ID="heading" runat="server"></asp:Label>
</asp:Content>
のようなブロックがあったとして、Hoge.aspx.vbからasp:Labelを取得したいんですが、
どうやればいいのでしょうか?

単純に
Page.FindControl("heading")
では取得出来ないようで・・・

よろしくお願いします。

342:341
08/01/24 17:22:36 7JZT46In
上の件については解決しました。
無理にFindControl使わずに、headingをそのまま使えるみたいですね。

しかし、新たな問題が。
Page.Request.QueryString("param1")
として取得したクエリ文字列に日本語が入っていた場合、
AscW関数で取得した数値が一律65533になってしまいます。
どうにか日本語のまま取得出来ないでしょうか?

よろしくお願いします。

343:341
08/01/24 17:50:53
何度もすみません、解決しました。
web.configに
<globalization requestEncoding="Shift_JIS" />
を書くことで日本語で取得できました。

344:nobodyさん
08/01/24 21:04:09 swcPOcpz
>>343
目先の結果だけで変更しちゃっていいものなのか?
と、ちょっと思った。

345:341
08/01/24 21:23:24 0wPjeug7
ではどうするのがいいのでしょうか?

346:nobodyさん
08/01/25 21:27:35
VS2005使っています。マスターページを利用しているaspファイルの
コンテンツに、vbファイル内にて取得したhtml文を出力させたいのですが
どうやったらよいのでしょうか?コードは次のようになります。

■test.aspxの中身

<%@ Page Language="VB" MasterPageFile="~MasterPage.master"
AutoEventWireup="false" CodeFile="test.aspx.vb" Inherits="test" %>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">

?ここに、test.aspx.vbの変数AAAAAに格納されたhtml文を出力するコードを書きたい。?

</asp:Content>


■test.aspx.vbの中身

Partial Class CountMonth Inherits System.Web.UI.Page

Protected Sub Page_Load(ByVal Sender As Object, ByVal e As EventArgs) Handles Me.Load
AAAAA="<table><caption>サンプル</caption><tr><td colspan=0 align=center><b>ほげ</b></td></tr></table>"
End Sub

End Class

347:nobodyさん
08/01/27 12:57:11
>>345
344とは別人ですが,
「考えてShift_JISに変えることで問題を解決させた」なら良いけど,
「Shift_JISに変えてみたら解決した(ように見えた)」なら不安や疑問が残るのは当然。

限定された利用環境でしか通じない(=限定された利用環境では通じる)
ということを理解してるなら問題無いと思う。

345は自分の想定している利用環境を見つめ直してみると良いんじゃない?
自分用アプリだとしでもDB絡みとか考えることは色々あるかも知れない。
文字の符号化の問題はなにかと躓きやすい問題の一つ。

348:nobodyさん
08/01/27 13:00:53
>>346
変数AAAAAに書かれたコードの安全性を検証できないんじゃないかとか考えたり。

349:nobodyさん
08/01/28 20:37:23
TreeView のあるノードをクリックしてポストバックした後
さきほどクリックしたノードがハイライトになっているようにしたい。
どのようにすればいいでしょうか。
参考になるサイトありましたらリンク先でもはっていただけると助かります。
よろしくお願いします。

350:nobodyさん
08/01/31 20:49:43 pr1Jn4LS
>346 普通に <% =AAAAA %> でいいだろ?

351:nobodyさん
08/02/01 12:55:47 Ik8bhfAO
始めたばかりなのですが、質問です。
とりあえずウィザードで作ったページに、_Defaultってクラスが生成されました。
Page_Load()とかに制御が来るのは分かりました。
このインスタンスっていつ削除されますか?
デストラクタを書いたら、起動時に飛んでくるんですけど...;
中でソケット通信していて、終了する時にはCloseしてやりたいのですが、
いつ終了されるか分からなくて...。
宜しくお願いします。

352:nobodyさん
08/02/01 13:05:10
VB2005にてマスターページを使っている
ページのコントロールを取得、各プロパティを変更したいです。
Me.ControlsをForで回して取ろうとしたところ
マスターページのControlsが取得されてしまいうまくいきませんでした
他に方法はありませんでしょうか?
変更対象が100個くらいあるので・・
1つ1つ変更するのはできれば避けたい所です。
ご教授よろしくお願いします

353:352
08/02/01 15:54:44
自己解決。
Master.FindControlで探してきてDirectCastで取ってこれました

354:nobodyさん
08/02/04 14:54:56
マスタページを使うよりユーザコントロールでなんとかしちゃったほうが
シンプルでメンテしやすい(Javascriptからの扱い等)と思うのは俺だけ?

355:nobodyさん
08/02/07 10:29:47 WbXuHs4A
URLリンク(support.microsoft.com)
ここの「サーバーのメモリに任意のオブジェクトをキャッシュする」ってところのプログラムなんですが、
SqlConnectionをcloseしていません。
これは大丈夫なのでしょうか?

356:nobodyさん
08/02/07 19:17:02
Close以前にOpenがないだろ?
そしてSqlDataAdapterは非接続型だ。
後はわかるよな?

357:nobodyさん
08/02/09 17:40:07
ASP.NETのセッションIDはどういった単位でユニークになりますでしょうか?
IPアドレスが違えばユニークになると思いますが
それ以外にはたとえばUserAgentが変わってもユニークに
なりますか?

358:nobodyさん
08/02/09 18:40:06
どのような環境でもユニークになるから気にしなくておk

359:nobodyさん
08/02/11 01:40:21
>>357
sessionid がクライアントから投げられてこなけりゃ新しく生成される。
だからたとえ同じUAでも別途立ち上げれば別セッションとして扱われる。
UAが投げてるRequest見ると分かりやすいかも。
FiddlerだのWebDevelopmentHelperだので見ると幸せになれるかも知れん。

360:nobodyさん
08/02/11 10:12:41 8IeW4FxX
DataAdapter は接続型だろ。
ただ、Fillメソッドの中で Open と Close してるだけ。

361:nobodyさん
08/02/11 11:40:28
は?

362:nobodyさん
08/02/14 00:08:37
データアクセスコンポーネントをデザイナツールで作成し、
TableAdapterのGetDataでデータテーブルを取得した後
ObjectDataSourceコントロールを使用せずに、コードでGridViewと連結しました。
この場合のGridViewの複数の列に対して非表示の設定を行いたいのですが
どのようにコーディングすればよいのでしょう?


363:nobodyさん
08/02/14 00:32:20
DataTableのColumnsの数を調整する

364:nobodyさん
08/02/15 00:12:20
そうなのか、DataTableで調整するんですか
GridViewの列数をカウントしても0となってるんで悩んでました

365:nobodyさん
08/02/15 21:57:56
信じてどうする

366:nobodyさん
08/02/18 18:21:09 p++OLHN+
ASP.NETで構築したサイトがあるのですが、社内のイントラWebなので
統合Windows認証で認証を行うようにしてあります。
先日、IE6からIE7に切り替えたのですが、上記のサイトに接続する際にユーザ名と
パスワードを確認するダイアログが出るようになりました。
従来どおり、ダイアログが出ないようにするにはブラウザの設定が必要なのでしょうか?
インターネットオプションの信頼済みサイトには上記のサイトが入っています。
IE6では、これを設定すればダイアログが出ないようになりました。


367:nobodyさん
08/02/18 18:30:11
自己解決しました。
今までは信頼済みサイトにサイトを入れていたのですが、イントラサイトに入れなおして
ログインのオプションを調整したら入れるようになりました。
お騒がせしました。


368:nobodyさん
08/02/19 14:46:13
すみません。質問です。
ASP.NETをはじめたばかりなので、どのコントロールを
使ったらいいかというレベルです。

掲示板みたいに、ログファイルを整理して表示するページを作っているのですが、
どのコントロールを使ったらよいのでしょうか。
DataListを見ると、1行おきに設定できるのは、色だけであり、
フォント関連のタグは指定できません。
Tableも、値を追加することは出来ても、フォント関連のタグは
指定出来ません。

ASP.NETは、デザインで、オブジェクトを配置してプログラムする
スタイルですので、プログラムのループで、オブジェクトを配置というのも
出来ませんよね・・・

369:368
08/02/19 15:04:42
追加で補足です。
例えば、以下のサイトのサンプルの掲示板では、
書き込む時にログファイルにタグも含めて書き込んでしまい、
データを表示するときに、すべてのデータをLabelに表示する
という形式を取っています。
URLリンク(aspnet.cguild.com)
ASP.NETの場合は、こういうやり方しかないということなのでしょうか。

私は、2ch.netみたいに、データだけのログファイルがあり、
それを自由にレイアウトしながら表示するというものをしたいのです。
これが、Perlだとすぐにイメージがつかめるのですが、ASP.NETとなると
プログラムの全体概要のイメージが出来ないのです。

それで、どういうコントロールを使ったら良いのかを質問してみました。

370:nobodyさん
08/02/19 21:10:25
>DataListを見ると、1行おきに設定できるのは、色だけであり、
>フォント関連のタグは指定できません。
DataBoundイベントでも引っこ抜いて、動的に生成すれば大抵のことはできる。
マウスでD&D、ちょいちょいとプロパティ設定で、はい出来上がりではない。

>ASP.NETは、デザインで、オブジェクトを配置してプログラムする
そらホームページビルダーだろw
基本的にデザインビューは、知らない人が保守で見たときに
オブジェクトの相関関係が目で見て分かりやすいってものだと俺は認識してる。
コードで書けばいい。

>データを表示するときに、すべてのデータをLabelに表示する
Labelなんてspanタグだ。"<span> %s <span>"だと思えばいい。

>ASP.NETの場合は、こういうやり方しかないということなのでしょうか。
んな訳ない。好きなように出来る(一部、死ぬほどやり辛いことはあるが)。
ちょっと初心者過ぎる気がするので、本を一冊買って来た方が良いと思う。

371:nobodyさん
08/02/20 01:53:44
>>370
レスありがとうございます。
> DataBoundイベントでも引っこ抜いて、動的に生成すれば大抵のことはできる。
> マウスでD&D、ちょいちょいとプロパティ設定で、はい出来上がりではない。
なるほど。私がイメージしてたものとは違うということのようですね。
コントロールの使い方について学んでいく必要があります。

> コードで書けばいい。
開発環境を使わずにメモ帳を使ってということですよね?
そっちのスタイルでも書いている方は結構いらっしゃるようですね。

> Labelなんてspanタグだ。"<span> %s <span>"だと思えばいい。
spanで囲むだけだったのですか。
何か特別なオブジェクトに格納するので、あまり長い文字は入れたり
しない方がいいのかなと思ったりしていました。
だったら、あの仕様でも良いですね。

> んな訳ない。好きなように出来る(一部、死ぬほどやり辛いことはあるが)。
> ちょっと初心者過ぎる気がするので、本を一冊買って来た方が良いと思う。
分かりました。書籍を購入して読んでみます。
しかし、ちょっと気になったのですが、ASP.NETなど製品版の場合、PHPやPerlに
比べてネットだと情報量が少ないですよね。。。開発をしようとすると非常に費用が
かさむ世界なのでしょうか。。

372:nobodyさん
08/02/20 03:13:04
すみません。質問です。
ASP.NETで書くと、それを表示する環境側にあわせたhtmlコードを出力する仕様だと
いうことですが、それは、コントロールを配置した場合に限るのですよね?
コントロールを配置する範囲でうまくいかない場合はstringに自分でタグをいれこんで
それをまとめて出力するとかやる事が多いと思うのですが。
このメリットは、本当に現場で活かされているのか、ちょっと疑問だと思いましたので
質問をしてみました。
URLリンク(www.atmarkit.co.jp)

373:nobodyさん
08/02/20 23:45:41
>>371
>開発環境を使わずにメモ帳を使ってということですよね?
違う違うVS2005。言いたかったことは、君が思ってるよりも
コード(aspx.vbや.vb)の手打ちで実装させることが多いということ。
TextBoxのonblurイベントからJScriptFunctionを仕込んだり、
GridViewに複数列をキーとしたソートを実装したり、
JScriptでの結果をASPにreturnして、さらにその結果をJScriptに返したりとか、
デザインビューのプロパティやコンテクストメニューとかに
項目が存在していなくても、コードを書けばなんとでもなることが多い。

>PHPやPerlに比べてネットだと情報量が少ないですよね。。。
。。。と付ける程少なくないと思うが。つかMSDNとヘルプでほぼ事足りる。
ASP.NETのクイックチュートリアルとか読んだか?試したか?

>開発をしようとすると非常に費用がかさむ世界なのでしょうか。。
ヒント:天下のM$様が開発された代物
つか、個人(だよね?)でASP.NETを使うメリットなんてないと俺は断言する。

>>372
>このメリットは、本当に現場で活かされているのか
活かされてるも何も、うちの会社ではGoTo文使うような扱いを受ける。
どうしても使わざるを得ない場合は設計を見直す。
MVCモデルとかOOPとかその辺の本も買ってきな。

374:nobodyさん
08/02/20 23:49:11
補足:
>活かされてるも何も、うちの会社ではGoTo文使うような扱いを受ける。
文字列にタグを入れ込んで表示することが、ね。

375:nobodyさん
08/02/21 00:21:53
>>373
レスありがとうございます。

> デザインビューのプロパティやコンテクストメニューとかに
> 項目が存在していなくても、コードを書けばなんとでもなることが多い。
プロパティに項目がなければ、なすすべが無いみたいに思っていたのですが、
現場の開発ではそうでもないのですね。
私は個人的に、工夫をするコードを書くと、あらかじめ準備しているクラスを活かしきれて
いないことから、重いだけの無駄な処理をしているようなイメージを持っていたのですが、
このあたりが間違っていたようですね。

> ASP.NETのクイックチュートリアルとか読んだか?試したか?
それは読んでませんでした。@ITの記事を読みながらやってましたので。
愚痴のような話ですが、Microsoftの入門者向け情報で、VBなどは読んでいたのですが、
ウィザードを使って、作って、ほら便利でしょ。終わり。という系統のが非常に多くて、
それに応用性が無いと思って読まなくなってました。M$のは中級者向けのがないですよね。
リファレンスはしっかりとしてますが、具体的な応用性がいまいちイメージできなかったり
しています。

> つか、個人(だよね?)でASP.NETを使うメリットなんてないと俺は断言する。
そうです。今は個人でやってます。会社でやることも考えて勉強のような位置づけです。
やはり、チームを組んでアプリを組む場合にメリットがあるわけであり、どんな場合でも
メリットがあるわけではないのですね。参考になりました。

ありがとうございます。

376:nobodyさん
08/02/21 07:34:22
>>373-374
> 活かされてるも何も、うちの会社ではGoTo文使うような扱いを受ける。
> (文字列にタグを入れ込んで表示することが、ね。 )
> どうしても使わざるを得ない場合は設計を見直す。
コントロールを配置する方向で実現する方法があるのですね。
工夫をしてそのような方法が出来るかを見てみます。

> MVCモデルとかOOPとかその辺の本も買ってきな。
ASP.NETは、他のフレームワークと比べてMVCを意識しなくていいという
記事もあります(記事はASP.NET 1.0ですが)が、やはり、開発にはMVCを
意識して、役割を分けて作る必要があるということなのですね。
URLリンク(www.atmarkit.co.jp)
MVCで検索するとjavaが良くヒットしますが、ASP.NETを例にしたものは、
簡単な文章のものしか見たことがありませんが、これは、MVCを理解して、
それをASP.NETで応用するという意味でしょうか?

377:nobodyさん
08/02/21 15:02:01
>>374さんの話は、<asp:~ runat=server>タグに限った話ですか?
それとも<br>なども含めた話ですか?

378:nobodyさん
08/02/21 16:09:59
DataListの使い方について質問です。
DataListのDataSourceを文字列にすると、意図するように表示されるのですが、
ADO.NETでDataReaderから取得した文字をDataSourceに指定すると、
1マスに1文字となってしまいます。
取得した文字の確認の為、Label等に出力させてみても、改行などは入って
いないのですが、DataListにすると、1文字ずつに分断されて表示されてしまいます。
これは、何処が問題なのでしょうか?

DataListのコード

<asp:DataList id="datalist" runat="server" CellPadding="1">
<ItemTemplate>
<%# Container.DataItem %>
</ItemTemplate>
</asp:DataList>

つづく

379:378
08/02/21 16:11:00
つづき

string[] st = {"aaa", "bbb"};
datalist.DataSource = st;
datalist.DataBind();

の出力結果は、

aaa
bbb

OleDbDataReader dr = cmd.ExecuteReader();
dr.Read();
string st = dr["タイトル"] + "," + dr["メッセージ"];
datalist.DataSource = st;
datalist.DataBind();

の出力結果は、

a
a
a
,
b
b
b
b

380:nobodyさん
08/02/23 22:33:31
app_codeフォルダを作成し、その中にコードファイルhoge.csを作成したのですが、
そのhoge.csのusing 宣言でSystem.Dataが認識されません。
System.入力後にインテリセンスでもSystem.Dataが出てきませんし、メンバも利用できません。
参照設定でSystem.Dataを参照しても変わりません。
どこを修正すればよろしいのでしょうか?


381:nobodyさん
08/02/26 10:27:21
>>379
上のコードは文字列の配列を渡しているのだから、
下のコードも同じように文字列の配列を渡すようにすれば良いじゃない

382:nobodyさん
08/02/26 10:30:08
string[] st = { dr["タイトル"], dr["メッセージ"] };
でどう?

383:nobodyさん
08/02/28 13:48:03
>>381-382
それでうまくいけました。
渡すデータの形が悪かったのですね。
ありがとうございました。

384:nobodyさん
08/02/28 23:40:54
パスワード入力のinputってポストバックしたら消えるけど、この値を常に表示させたいが
どうすればいいですか

385:nobodyさん
08/02/28 23:51:48
>>384
Cookieとかじゃダメ・・・?

386:nobodyさん
08/02/29 00:28:07
すみません。クッキー以外でお願いします。
ブレークポイント設定して順に追ってみたのですが、どのタイミングで消えるのか分かりませんでした・・・

387:nobodyさん
08/02/29 00:38:41
どうしてもというのであればSessionにつっこむ

388:nobodyさん
08/02/29 01:25:24
やっぱりSessionしかないのですね。ありがとう

389: [―{}@{}@{}-] nobodyさん
08/02/29 13:04:10 BE:53832342-PLT(21001)
>>384
PassBox.Attributes.Add("value", "パスワード")
でいかが?

390:384
08/03/01 13:09:02
>>389
完璧です!

391:nobodyさん
08/03/05 12:54:57
ページ内でエラーが発生してcatch句で処理する場合など、
エラーが発生したことを表示させるにはLiteralとかで表示させるのが一般的なのでしょうか?

392:nobodyさん
08/03/05 21:45:09
global.asaxでまとめてcatchしてエラーページに飛ばす。

393:nobodyさん
08/03/06 14:34:16
サイト発行で完全コンパイルしていますが、特定ページのみコンパイルしない状態を作ることは出来るのでしょうか。

394:nobodyさん
08/03/07 00:12:53
ASP.NETでASP.NETを実行してるユーザーの権限とかいじらずに
デフォルト状態でファイルとかにログを吐くにはどうしたらいいのでしょうか?

395:nobodyさん
08/03/07 00:47:49
普通にglobal.asaxとかで出来ない?
出来ないならNetwork Serviceアカウントに権限与える必要あり。
FileSystemAccessRuleクラス当たりをググってみて

396:nobodyさん
08/03/07 01:04:24
App_Dataにでもはいとけ


397:nobodyさん
08/03/07 16:14:45
>396
うまくいきました。

398:nobodyさん
08/03/08 19:12:02 J6kJ8MXk
asp.netのSessionについて調べているのですが、
Session.SessionIDプロパティの値って、いつ設定されるのでしょうか?
最初にwebアプリのaspxファイルにアクセスした時ですか?


399:nobodyさん
08/03/08 22:01:34
はい。該当の仮想ディレクトリにアクセスされた時です。

400:nobodyさん
08/03/08 22:33:34
うそつけ


401:nobodyさん
08/03/08 22:34:01
自宅でASP.NETの勉強をしようと思い参考書を買ったのですが、不具合が…
参考書では

>Windowsコンポーネントの追加と削除」→
>Windowsコンポーネントウィザード」→
>インターネット インフォメーション サービス(IIS)」にチェック→
>「詳細」を左クリックします。

もうこの時点でアウト。
『インターネット インフォメーション サービス(IIS)』自体が表示されてません。
非常に困ってます。どうすれば表示されますか?教えてチャンですいません。

402:sage
08/03/08 22:46:29 J6kJ8MXk
Sessionオブジェクトに値を設定したときかな。
IsNewSessionプロパティを見れば判るかも。

403:nobodyさん
08/03/08 22:50:25
>401
環境は?XPの場合Home Editionだと×。IISはProfessional Edition 以上

404:401
08/03/08 23:10:59
OSはXP Home Editionです。
Professional Edition以上とは参考書に全然書いてないんで、安心しました。

勉強段階で行うのはアプリの動作確認だけだし、
使ってるレンタルサーバが「ASP.NET対応!テスト使用にもどうぞ」って謳ってるので、
IISは必ずしもクライアント側では必要ないのかも? という気がしてきました。
(間違ってたらご指摘下さい。)

お早いレス、有難うございます。

405:nobodyさん
08/03/08 23:12:21
>>404
まあ、必要ないっちゃあ必要ない。
ただ、デバッグとかするのにはあるほうが数倍便利。

406:nobodyさん
08/03/09 01:40:07
>参考書では
いつの参考書だ?


407:nobodyさん
08/03/09 09:06:44
>>404
OSはXP HEは駄目だと表記されてない書籍というのは相当怪しくないか?
あと、出来れば、プログラムが無限ループになる可能性もあるから、
レンタルサーバの使用は避けた方がいいと思うけどな。
あと、XP HE でも、ASP.NETは動かすことは可能だぞ。2005以降のIDEだと
自動でローカルで動作確認が出来るツールが入ってくるし。

408:nobodyさん
08/03/10 20:47:04 X6+NrWjc
>>404
Virtual PC + Windows Server 2003 180日評価版

409:nobodyさん
08/03/12 23:23:12
変数をstaticで宣言した場合、いつまで保持されるのでしょうか
ポストバックしても残ってますが そのページ内でのみ残ってるのでしょうか

410:nobodyさん
08/03/13 20:24:46
ASP.NETワーカープロセスが終了するまでじゃないの

411:nobodyさん
08/03/13 21:15:47
それはないわ

412:nobodyさん
08/03/13 22:14:20
正確にはアプリケーションドメインがアンロードされるまでだが、
ワーカープロセスが終了するまでというのはぜんぜん違うというほどではない。


>それはないわ
どういう意味で言ったのかね?


413:409
08/03/14 00:11:32
ありがとうございます。
Session変数みたく扱えるってことですね。逆にむやみやたらと使うと
ワーカープロセスが終了するまで残ってしまうのでよくないですね

414:nobodyさん
08/03/14 14:35:37
旧ASPのコードをそのまま動かす方法はないでしょうか?

Google AdSenseのモバイル広告を使いたいのですが旧ASPのコードさかないので・・・

415:nobodyさん
08/03/14 14:36:23
さかない→しかないの間違いです

416:nobodyさん
08/03/14 16:42:53
ASP.NET3.5+AJAXではじめるECサイト構築入門って本買ったんだけど
ウリの一つのネットショップのサンプルファイルがCDから洩れてるし。

MasterPageHorizontalMenu.ascx.vb
誰か↑のファイルなんとかしてくれ。

417:nobodyさん
08/03/14 22:57:12
あほか、機能くらい書けよw
実現してやるから

418:nobodyさん
08/03/17 00:49:50
質問です。
環境:VisualBasic 2005 ASP.NET2.0 AJAX Control Toolkit


CascadingDropDownのListBox版というのは不可能なのでしょうか?
CascadingDropDownはListBoxに適用できないため自力でやるしか方法はないのでしょうか?

419:nobodyさん
08/03/17 01:05:13
>>418
どうぞ
URLリンク(www.experts-exchange.com)

420:nobodyさん
08/03/19 14:24:55 zbaC+I0y
IIS6.0でASP.NET3.5を動かすことはできるのでしょうか?
設定の方法が載っているサイトなどあれば教えてください。

421:nobodyさん
08/03/19 17:19:26 n1YREe+h
すみません。自分はJavaプログラマでしたが、スレッド恐怖症です。

デッドロックとかむかつきます。

ASP.NETなら、スレッドは関係ないですか?PHPみたいにスレッドが関係ないといいです。

よろしくお願いします。

422:nobodyさん
08/03/21 07:32:02
>>421
何を聞きたいのかわからん

423:421
08/03/21 20:41:42
>>422 どうもレスありがとうございます。漫画喫茶からのアクセスなのでどうしても
お礼が遅くなってしまいます。私が聞きたいのは、Javaだとサーブレットでは
通常はdoGetもしくはdoPostメソッド内での処理を書くのですが、それらメソッド外(いわゆるグローバル変数)を使います。
その場合、サーブレットは1つのクラスがマルチスレッドで動いているものですから、グローバル変数はマルチスレッド対応の
ソースコードを書かないとバグを引き起こします。しかし、PHPだと言語の仕様上そのような配慮はいらないです。
VB.NETでWEBのソースを書く場合はどうなのかとおもいまして。

また、答えていただけたら、幸いです。

424:nobodyさん
08/03/21 23:35:42
それはマルチスレッド云々の問題ではなく、グローバル変数の利用法に
配慮したコーディングが出来てないだけじゃないのか・・

425:nobodyさん
08/03/22 17:19:32
PHPだと配慮しなくてもOK
Javaだと配慮しないとNG
で、ASP.NETは?って聞いてんだろ。きっと。

426:nobodyさん
08/03/22 23:31:55
>>421
PHP:マルチスレッド非対応
Java:マルチスレッド対応
ASP.NET:マルチスレッド対応

以上。

って言うのもこのスレ的にアレなのでASP.NETを使ってみて欲しい。

今回のケース(VB.NET)では一番簡単なマルチスレッド対応として
SyncLockを使えば良いだけに思える。(Javaのsynchronizedっぽいの)

慣れてきたら色んな排他制御の仕組みを適材適所で使い分けましょう。
例えばReaderWriterLockクラスはお手軽度では結構上位かな。

>>424
グローバル変数の利用法に配慮したコーディングって……
具体的にどういうコーディングか考えたらわかると思うけど,
マルチスレッドを考慮するってことに含まれるでしょう。


427:nobodyさん
08/03/23 21:39:50 x4MgCEzm
ASP.NETでマルチスレッドってどんな場合に使用するのでしょうか?
当方初心者で思いつかないのですが

428:nobodyさん
08/03/24 03:23:35 ct6byZwV
デザイナでDropDownListコントロールを配置し、
データソースの設定をし、DBより取得したレコードを
DropDownListに表示しています。
それはいいのですが、使用時に未選択を示す
空文字の行がありません。
つまりDBに"1","2","3"と3つレコードがあり、それをDrowpDownListに
取り込むことはできたのですが、実際使用する時には
""の行も必要なので困っています。
1.こういう場合どうするべきでしょうか?(DB側のテーブルに空文字の行を追加することは避けたい)
2.また、フォームのLoadイベントでリストの元データになっているDataTableにアクセスしたかったのですが、
 やり方がわかりませんでした。
 どうやればアクセスできますか?
 イメージ的にはMe.dataset.Tables[~~
 のようにフォームを初期化するために使用したデータセットがどこかに保存されているような気がするのですが。。

429: [―{}@{}@{}-] nobodyさん
08/03/24 11:45:00
>>428
1.静的アイテムを定義しておいて、AppendDataBoundItems=Trueにするのが簡単かな
2.DataBoundイベントで行データにアクセスできるけどそれじゃ駄目?


430:428
08/03/25 01:21:28
>>429
>1.静的アイテムを定義しておいて、AppendDataBoundItems=True
これでばっちりです、これが知りたかったです。
ありがとうございます。

>2.DataBoundイベントで行データにアクセス
うーん、どこかの変数にリストボックスの作成元になっている
データセットへ直接アクセスするようなことはできないでしょうか?


431:423
08/03/27 19:17:41 jex5dQtQ
どうもありがとうございます。

よくわかりました。わたし、Java初めて3年になるんですが、
もうフレームワークやらなんやらで、ほとほとつかれました。

MSのならば、言語仕様がしっかりしてるとおもいました。
一応スレッドはあるみたいですが、がんばってみます。

思い切って、ASP.NETをやってみます。どうもありがとうございました。

お礼が遅れてすみませんでした。今日、仕事帰りに漫画喫茶にこれました。

432:nobodyさん
08/03/28 00:19:18 oYl8aU09
開発時と運用時でフォルダ構成が違うため相対パスが違うので
プログラムで相対パスを書く時に困ってしまっています。
開発時画像を表示する相対パスを書いて、それを運用時のフォルダへコピーし、実行すると
画像への相対パスが変わってしまうため表示できません。
運用フォルダでは画像ファイルは*.aspxファイルより上の階層にあります。
開発時と運用時の相対パスの違いって
どうやって切り替えるとよいでしょうか?
それか実行時に動的にwebconfigあたりから相対パスを読み出してくるような方法ないでしょうか?


433:nobodyさん
08/03/28 01:16:08
相対パス、相対パスって言ってるけど意味分かってるんだよね?
開発と運用で相対位置が上位と下位に分かれてるなんてどーしよーもないよ。

というか開発時と運用時で画像への相対パスが違うって事自体理解できん。
運用に合わせて開発環境整えればいいだけだと思うんだけど・・・
どういう理由でできないの?



434:432
08/03/28 01:40:35
>>433
相対パスの意味はOKです。
やはり運用環境に整えるのが当たり前ですか。
運用環境では*.aspxの配置してある階層より上の階層に画像があるのが
問題なんですね。
今運用環境が以下なのですが、
http://(root)/test.aspx
このtest.aspxの階層を一つ下げて
http://(root)/home/test.aspx
などとすれば画像へのパスが
http://(root)/img/a.jpg
となり開発時運用時共に同じ構成で作成できます。
今回は運用環境が実際は定まっていなかったので
運用環境のフォルダ構成を見直すことで
開発時と統一したいと思います。
ありがとうございました。

435:nobodyさん
08/03/29 17:22:30
>>434
Web.configに絶対パスを書いて画像を指定するときに置き換えてやればいいじゃない

436:nobodyさん
08/03/30 11:49:34
便乗なんだけど、パス書くときに~/で書けば自動変換してくれるけど、
<script>タグの場合は、runat=serverにしたらエラーなるけど、何か方法ないですか

437:432
08/03/31 05:18:43
>>435
ですね、
そう言う方法が知りたかったです。
ですが今回はフォルダ構成に関しては開発環境=運用環境が
基本と言うことをお教えいただいたのでそうしますね。
ありがとうございます。

438:nobodyさん
08/03/31 05:30:55 RxSssc/i
DataListコントロールを利用してDBからのデータを表示しているのですが、
思うように表示できません。
イメージ的には水平に表示させていってウィンドウの右端までいくと
次の行に続きを表示したいんです。
1,2,3,4,
5,6,7,8,
みたいな感じです。
今回の例ならRepertColumnsに「4」を指定し、
RepertDirectionを「Horizontal」にすればよいのですが、
実際はウィンドウの幅がわからないためRepertColumnsの値がわかりません。
どうすればよいでしょうか?
ウィンドウサイズが変更された場合に自動的に
1,2,3,
4,5,6、
7,8
と並びを変えたいのですが。。

439:nobodyさん
08/04/01 00:14:49
>>438
RepeatLayoutをFlowにしてインライン要素で敷き詰めたらどうだろうか。

440:438
08/04/02 01:45:15
>>439
RepeatLayoutをFlowにしてみたんですが、一行に1つずつのアイテムが
下へずらずらと表示されるだけでした。
インライン要素で敷き詰めるとはどうゆうことを指すのでしょうか?
すみません。

441:416
08/04/02 10:00:56 Y/05D5yF
>>416
ASP.NET3.5+AJAXではじめるECサイト構築入門
の作者が対応とってくれました。感謝。
URLリンク(www.friendlysw.com)

416の時点で出版社へメールを送ったが、出版社からは音沙汰なしのままだった。
この対応については、ちと不満。
改訂版もしくは、初版以降の版では直ってることを願う。
書籍自体は、動くサンプルコードが豊富であり参考にはなると思った。

442:nobodyさん
08/04/02 10:17:30
>>438
まず1から8までの各データをSPANタグ(インライン要素)で囲んだだけのHTMLを作って表示してみる。
ウィンドウ幅に余裕があるかぎりデータが横に並べられ、幅を変えるとそれに合わせて改行位置が変わることを確認できるはず。

これをDataListで再現できればいいわけだ。
RepeatLayout=Flow、RepeatColumnsをできるだけ大きい数(笑)にすればとりあえず再現できるね。

443:438
08/04/04 00:38:51
>>442
>まず1から8までの各データをSPANタグ(インライン要素)で囲んだだけのHTMLを作って表示してみる。
こちらはうまくできました
>RepeatLayout=Flow、RepeatColumnsをできるだけ大きい数(笑)にすればとりあえず再現できるね。
こちらは無理でした。itemtemplateの内部を<span>で囲ったんですけど。。
ItemTemplateの中で表タグ使ってるのが問題かもしれません。
と思って外したんですがやはり無理でした。
ここまで来るとASPというよりタグの問題かもしれません。
そもそもDataListがtableタグを使って表現している以上
ItemTemplate内でtableタグを使った場合、ウィンドウサイズが変動しても自動で列数が変わるとか
無理な気もしてきました。。

444:438
08/04/04 00:48:24
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
訂正

そもそもDataListがtableタグを使って表現しているので
テーブル内で<span>使ってもテーブル自体の列数がウィンドウサイズによって
動的に変動するとか無理なような気がしてきました。


445:nobodyさん
08/04/04 09:38:27
RepeatLayout=FlowだとDataListはspanタグを吐くだろ?

446:nobodyさん
08/04/04 22:07:24 btrOMdCP
SqlCommandでパラメータ使ってますが、省略可能なパラメータって定義できますか?
検索条件によってパラメータが無い場合もあるので、どのように対応すべきか悩んでいます。


447:nobodyさん
08/04/05 16:12:22
条件によってcommandTextから変える

448:446
08/04/05 19:28:34 /o0gPsTY
>>447
レスありがとうございます。やはり動的にSQL文を生成するしかないのですか。

449:438
08/04/05 20:09:31
>>445
ほんとだ。。
検証ミスってすみません。ちゃんとspan吐いてました。
こんなん書いたら
<asp:DataList ID="DataList1" runat="server" DataSourceID="SqlDataSource1" RepeatColumns="1000" RepeatLayout="Flow">
<ItemTemplate>
<table>
<tr>
<td>
<asp:Label ID="Label1" runat="server" Text='<%# eval("出版社名") %>'></asp:Label>
</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList><br />

こんなん出力されてました。


450:438
08/04/05 20:09:52
<span id="DataList1"><span>
<table>
<tr>
<td>
<span id="DataList1_ctl00_Label1">集英社</span>
</td>
</tr>
</table>
</span><span>
<table>
<tr>
<td>
<span id="DataList1_ctl01_Label1">小学館</span>
</td>
</tr>
</table>
</span><span>
<table>
<tr>
<td>
<span id="DataList1_ctl02_Label1">講談社</span>
</td>
</tr>
</table>
</span><span>

451:438
08/04/05 20:11:49
ブラウザの見た目としては
集英社
小学館
講談社
メディアワークス
徳間書店
角川書店
竹書房
こんなんなっちゃいまして
期待としてはテーブルの中に入った出版社名が
右へずらっとウィンドウの右端まで表示したいのですが、
どうしても下へ並んでしまいました。。


452:nobodyさん
08/04/05 21:40:40
>>438
Repeaterコントロール使えば良いんでね?
ItemTemplateの中身をひたすら繰り返すだけのシンプルなものになるから。
後はdivでもなんでも使えばよかろ。

453:nobodyさん
08/04/05 21:42:06 /o0gPsTY
>>451
CSSの対応で、どうでしょうか?
>>450の場合だと
span#DataList1 table{ display:inline; }
とすれば横並びになりますが。

454:nobodyさん
08/04/05 21:44:15
<ItemTemplate>
<div style="float: left">
<% Eval("Shuppansha") %>
</div>
</ItemTemplate>
 ↓
<div style="float: left">
集英社
</div>
<div style="float: left">
小学館
</div>
<div style="float: left">
講談社
</div>

みたいに出力される。

455:nobodyさん
08/04/05 22:09:14
>>448
あとは、それを見込んでクエリを書くか。
WHERE (param = @param OR @param IS NULL)
みたいな。

456:nobodyさん
08/04/05 23:48:02 /o0gPsTY
>>455
ありがとうございます。求めてたのはこれです。

457:438
08/04/06 17:14:55
うまくいきました!
まず>>453-454で教えて頂いたようにtableのstyleを「display:inline」とします。
これで解決しました。
また、今回の要件を満たすにはtableのstyleをdisplay=inlineとした上で、
Repeaterコントロールを使う方が良いと思いました。
DataListでもプロパティを設定すれば多少無理矢理な形で可能なのですが、
スマートでない感じがしました。
ありがとうございました。

458:452
08/04/06 22:35:04
客先のブラウザで全画面表示したら貧相な画面になりましたとか気まずいから、
>>438みたいな、横幅可変でなるべく全体使いたいって話が最近良くある。
狭い画面での表示と両立してくれって要求になるとかったるいけどw

20~24インチぐらいのワイド液晶ある人はyahooやinfoseekとamazon比較してみると良いかも

459:nobodyさん
08/04/07 00:19:01 880v00YK
ユーザーコントロール作って、その中のコントロールのボタンに
Click時にクライアントスクリプトを動かしたい場合は、ユーザー
コントロールの貼り付け先にスクリプト書く必要があるのでしょうか?
ユーザーコントロール側にスクリプト書いて、コントロールの
貼り付けだけで動作するようには出来ないのでしょうか?

460:nobodyさん
08/04/07 19:54:47
簡単なスクリプトなら、動的にクライアントスクリプトを追加するように、ユーザーコントロールに書くとか

461:nobodyさん
08/04/07 23:28:59 HZpb0WP/
TextBoxとボタンを2セット配置しまして
TextBox1の上でEnterキーが押された時はボタン1の処理、
TextBox2の上でEnterキーが押された時はボタン2の処理、と
処理を分ける場合はどうすればよいでしょうか?
今のところどちらでEnterキーを押してもボタン1の処理が実行されてしまいます。


462:nobodyさん
08/04/08 00:18:51 O6FEAP9E
FormViewでメーカーCDを連結しているLabelがありまして、
実際にはここにメーカー名を表示したいのですが、良い方法ないですか?
とりあえず今はPage_Loadイベントで現在のメーカーCDをVisible=falseのメーカーCDと連結した
LabelからとってきてSqlCommandでExecuteReaderして別テーブルからメーカーCDをキーとしてメーカー名を取って非連結のLabelに表示しています。
動作に支障はないのですが、メーカーCDを取得するためだけにフォーム上に
Labelを1つ無駄に配置するというのがなんだかもったいないです。
いちいちメーカーCDのラベルを経由せず、直接現在のメーカーCDを取得するような方法ありませんか?

463:nobodyさん
08/04/08 20:00:15
>>461
テキストボックス内でEnter押してSubmitを発生させた場合、
最初のSubmitボタンが押されたものとブラウザが判断するので・・・

1:formのイベントでキーをとっ捕まえてEnterキーかどうか判断
2:window.event.srcElementあたりでそれを発生させたオブジェクトを取得
3:後は煮るなり焼くなり
4:クロスブラウザに注意

464:nobodyさん
08/04/08 20:38:52
>>462
どこのSIerだか偽装請負だかの新人か知らんが、
暗号解読能力が必要な質問すんな。

とりあえずMSDN読んどけ。
URLリンク(msdn2.microsoft.com)(VS.80).aspx
何遍読んでも自分でサンプル書いてもわからなければ、また相談に来い。
そのときはもっとマシな質問が出来るだろ。

ヒント:FormViewのリファレンス…特にプロパティ

465:nobodyさん
08/04/08 23:10:14
AJAXControlToolkitで質問です。コントロール郡をツールバーから貼り付けるまでは
出来るのですが、TargetControlIDの欄が真っ黒になって、設定できません。
しかもこの欄をクリックすると、VSが落ちてしまいます。
このような現象に会われた方いらっしゃいますか?
参照の解除、再設定やらツールバーのリセットしても改善しません。

466:462
08/04/09 02:59:47
>>464
おかげさまで無事取得できました。
CType(Me.FormView1.DataItem, Data.DataRowView)("取得対象フィールド名")

467:464
08/04/09 22:56:48
>>466
この場合、aspxファイル内でFormView.DataKeyNamesにメーカーCDのフィールド名をセットして
FormView.DataKey.Value(キーが複数ある場合はValues)でキーの内容を取得する方が多分スマートかな。
わざわざコードビハインド側でセットする必要もないしね。

↓のような感じ
<asp:Label ID='MakerCDLabel' runat='server' Text='<%= this.FormView1.DataKey.Value %>' />

468:462
08/04/10 01:50:33
>>464
DataKeyNamesプロパティを利用して
キーから対応する名前を取得するには
通常DataKeyNamesに主キーの列名を指定する必要がありますよね?
今回取得したいのは主キーでないので無理そうです。
ありがとうございます。

469:nobodyさん
08/04/10 16:28:59
>>461
Panel使えば簡単にできる
そういうプロパティがある

470:461
08/04/11 03:22:57
>>469
検証してきましたらうまくいきました!
こういうのが欲しかったです。
ありがとうございました。

471:眠れない
08/04/15 21:15:36
aspで携帯サイト開発するとき、改頁の機能はどうすれば、携帯画面に出ることができるのでしょうか。知っている方はいらっしゃいましたら、教えていただけないでしょうか。

472:nobodyさん
08/04/16 19:22:41
日本語でおk

473:nobodyさん
08/04/24 12:44:27
GridViewでヘッダーとか設定した後、手動でDataBindするとレイアウトが解除されて
ノーマルな状態でBindされてしまいますが、回避する方法ありますか?

474:nobodyさん
08/04/25 13:26:05
aspx側でText='<%# item[0] %>'みたくバインドしたいのですが
cs側でitemをどのように宣言して扱えばいいのでしょうか?
itemはList<string>がいいのですが

475:nobodyさん
08/04/25 13:33:58
すいません。ソッコー自己解決しました。そのままパブリック宣言でおkでした

476:nobodyさん
08/04/26 21:37:48
publicよりprotectedの方が良いんじゃねーかなー…

>>473
DataBoundイベント時に設定すればええやん

477:nobodyさん
08/05/02 13:15:08
画像をクリックした時に、セッション変数に値をセットした上で、別のページに遷移したいのですが、
ImageButtonのPostBackUrlに遷移先のページ、Clickイベントでセッション変数への値のセット
としてもうまく動きません(Clickイベントが発生しません)
こういう場合はどの様にするのがベストなのでしょうか?

478:nobodyさん
08/05/02 20:51:29
>Clickイベントが発生しません
aspxのImageButtonソースとClickイベントを書いて

479:447
08/05/03 06:14:49
>>478
ImageButtonのソース↓
<asp:ImageButton ID="imgPass" runat="server" ImageUrl="~/img/header_pass.jpg" PostBackUrl="~/passwordchange.aspx"
ToolTip="パスワードを変更します" />

イベント↓
Protected Sub imgPass_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles imgPass.Click

Session("ChangePassword") = Session("LoginId")

End Sub

となっています。
Session変数に値をセットしている所にブレイクを貼っても、ここにきません。
ちなみに、masterページに書いています。
よろしくお願いします。

480:nobodyさん
08/05/03 13:06:20
OnClick="imgPass_Click"の記述がないよ。

<asp:ImageButton ID="imgPass" runat="server" ImageUrl="~/img/header_pass.jpg" PostBackUrl="~/passwordchange.aspx"
ToolTip="パスワードを変更します" OnClick="imgPass_Click" />

としてみて。



481:nobodyさん
08/05/03 15:54:40
作成したASP.netサイトを自マシンにインストールし
自マシンに対して外部(イントラネット内)に公開する事は出来たのですが、

自マシンで作成したASP.netサイト(Default.aspx)を
特定マシンに(IISインストール済み)配置(公開)するにはどうすれば良いでしょうか?

・WEBサイトのコピー
・WEBサイトの発行
をプロジェクトの上で右クリックして、公開したいPCを指定しても
エラー(失敗してしまう)になってしまいます。



482:nobodyさん
08/05/03 16:17:23
>>481
アクセス権

483:481
08/05/03 16:50:09
>>482
> アクセス権
レスありがとうございます。
因みにアクセス権の設定を行う方法として次のうちどれを行えば良いのでしょうか?
(初心者ですみません。)

1.公開したいサーバ上の管理ツールよりアクセス権の設定を行う。
2.公開したいサーバ上のIISマネージャより設定を行う。
3.「1.」「2.」両方の設定を行う。


484:447
08/05/04 02:05:59
>>480
どうもです。
試してみたけど動きません。
マスターページじゃないaspxファイルに貼ったImageButtonだとちゃんと動くので、
masterページに書いているのが原因なのかな?とも思ってるのですが・・・

あと、ツールボックスからコントロールを貼り付け、コントロールをダブルクリックして
出来たイベントハンドラに処理を書いていて、他はOnClickとか書いてなくてもイベントが発生するのですが、
自分で書く必要がある場合ってどういう時なんでしょうか?


485:447
08/05/05 02:15:18
>マスターページじゃないaspxファイルに貼ったImageButtonだとちゃんと動くので、
色々試した結果、これ間違ってました。
正確には、「PostBackUrlプロパティに、自ページ以外のページが指定されている場合は、OnClickイベントが動かない」でした。
OnClickイベントは、PostBackされた後にサーバーで処理される。と理解しました(間違いがあれば指摘ください)

PostBackUrlプロパティを空白にして、OnClickイベントでServer.Transferで要件を満たせました。
色々ありがとうございました。

486:nobodyさん
08/05/05 19:20:36
たまには息抜きにどうですか?
URLリンク(www.atmarkit.co.jp)
笑いながら、「あるある!」って最後まで読んでしまった。

487:nobodyさん
08/05/05 20:01:05
本当は、ASP.netをメインでやりたいのに
Windowsアプリの開発ばかりやるハメになってる。

WEB系やりてーよぉー。

.NET FrameWorkはかなり熟知してるんだが。。。

488:nobodyさん
08/05/06 02:01:30
マスターページ機能って便利だけど、パフォーマンスが落ちたりするんでしょうか?
ヘルプの記述を見ると要求後にマージするとあるので、なんかパフォーマンスが
落ちそうな気がするんです。
asp.netを使うページだけmaster機能、性的なページはダイナミックWebテンプレート、とか
使い分けた方がいいんでしょうか?

ヘルプ
「ユーザーがコンテンツ ページを要求すると、マスターページとマージされて、マスタ ページの
レイアウトとコンテンツ ページのコンテンツが結合された出力が生成されます。」


489:nobodyさん
08/05/06 18:26:19
cobolしか触ったことのない俺がとりあえずASP入門するのに最適な
サイト・書籍を列挙してくれないか?
VS2008が使えるやつで頼む。

490:nobodyさん
08/05/06 19:25:20
>>489
> cobolしか触ったことのない俺がとりあえずASP入門するのに最適な
> サイト・書籍を列挙してくれないか?
> VS2008が使えるやつで頼む。
こぼら には無理

491:nobodyさん
08/05/06 19:31:45
cobolのみならC#.netの入門書からがいいんじゃないか。
.net framework自体の知識も基礎は必要になるから。

vs2008対応のasp.netのよい本はまだ出てない。
「asp.netでいってみよう」は評判良いが発行は古く
asp.net2.0未対応。

492:nobodyさん
08/05/06 23:04:06
>>489
COBOLerならJAVAに行くべきだな。
「Java for Cobol Programmers」がおすすめ。ただし邦訳はない、全部英語。
どうしてもASP.NETなら、古本屋で
「.NETのしくみとVB.NETプログラミング入門―COBOLユーザーに捧げる」
を買って読んでから、 「基礎からのASP.NET SE必修! (プログラマの種シリーズ) 」
かな。


493:nobodyさん
08/05/07 17:37:55
すまん、ちょっと教えて欲しいのだが、
ClientのJavaScriptから、非同期でポストバックして.aspx.cs上のメソッドを実行させるか、
コールバックしてイベントを発生させることは可能?

適当なButtonを作成して、GetPostBackEventReference(this.Button1, "");でやってみたり、
PageにIPostBackEventHandlerを追加してRasePostBackEventメソッドにコールバックさせてみたり
したのだが、いずれもブラウザが再読み込みをしてしまう・・・

具体的には、TextBoxで特定キーを押下後に、TextBoxの中身を確かめて、
特定の表示をしたいんだけど、JavaScriptでOnKeyUpをキャプチャーし、押されたキーを判断し、
JSでポストバックし、再読み込みせずにaspx.cs上のメソッドを実行させたいんだけど、
そんなことって可能ですか?(´・ω・`)

494:nobodyさん
08/05/07 20:51:48
他スレで質問したところ解答が無いので
こちらでも質問させて下さい。

ASP.netで特定のサーバにhoge.aspxを配置して稼働させる方法は、
お蔭様で分かったのですが、これまではロジックを
 hoge.aspx
の中にゴリゴリ書いていたものをロジックを別クラスに分けて
コンパイルを行った上で同様の手順でサーバに配置したところ
「このアプリケーションは利用できません。」
なるエラーメッセージが表示されてしまいます。一体何が原因なのでしょうか?
(同様の手順でコンパイルしIISに配置しています。)

495:nobodyさん
08/05/07 22:06:05
>>493
昔調べた限りでは出来なかった。AjaxExtensionでも入れれば。

>>494
VisualStudio使えば?
そんなエラーメッセージだけからでは理由がつかめないから、
例外をキャッチして詳細なエラーを吐くページを作っとけ。
適当予測ではApp_Code以下に置いてないとか。
あと、別にコンパイルは必須ではない。

496:nobodyさん
08/05/07 22:24:10
>>495さん
レスありがとうございます。
普通にVisualStudioは使っています。
追加したクラスファイルは、普通にApp_Codeに入っています。

プロジェクトの上で右クリック → 新規項目の追加 → VBクラス
とするとVisual Studioの方から誘導する様なメッセージが表示されて
App_Code直下に配置されたと記憶しています。

原因はどうもIISの設定っぽ気がするのですがいまいち分かりません。
明日もう一度試してみようと思います。


497:nobodyさん
08/05/07 22:26:37 wvo/I4za
ASP.NETには直接関係ないかもしれないけど、英語版Visual Studio使ってます
もちろんMSDNが英語だけど、日本語版MSDNに置き換えることってできますか?

498:nobodyさん
08/05/07 22:34:48
>>495
そのAJAXでできないのよ・・・
再読み込みナシで、特定のメソッドを実行できればいいんだけど・・

>>496
俺はC#だから外しているかもしれんが、
作ったClassのNameSpaceをUsesしていないだけでは?

499:nobodyさん
08/05/07 22:56:49
>>498
using ***の事ですか?
VBだと imports?


500:nobodyさん
08/05/07 23:05:55
>>499
そそ、using
C#だと、普通にClassを作った限りでは、usingしなくても使えるけど。
表示されるエラーをすべて晒してみるのが手っ取り早いと思う。

501:nobodyさん
08/05/07 23:08:35
>>496
マルチ乙

502:nobodyさん
08/05/07 23:13:51
>>500
> そそ、using
> C#だと、普通にClassを作った限りでは、usingしなくても使えるけど。
> 表示されるエラーをすべて晒してみるのが手っ取り早いと思う。
それがどうもIIS側の設定っぽいエラーなんです。
エラーを晒したいのですが環境が自宅には無くて出来ません。
明日、>>500さんに教えて頂いた事を踏まえていろいろ試してみて駄目だったら
エラー内容を控えてこちらにてご質問させて頂きます。



503:nobodyさん
08/05/08 18:21:52
>>498
Remotingかwebサービスで対応できると思う

504:nobodyさん
08/05/08 19:09:51
>>503
ありがとう
なるほど、できるっぽいけど煩雑な手順を踏まないといけないのね・・

いちおうLinkButtonか、Buttonをスタイルシートで非表示状態、
または背景と同じ色で配置して、このコントロールのイベントを利用することで、
仮想的に特定のメソッドを実行させてるけど、あまり美しくない・・・

IPostBackEventHandlerを継承したユーザコントロールを作ったりすれば、
少しはキレイになるのかしら・・・

505:nobodyさん
08/05/08 22:03:15
>>504
クエリ文字列かなにかをもとに目的の処理をするaspxを作っておいて、それにXHRでリクエスト投げる
という単純な方法じゃだめなの?

506:nobodyさん
08/05/08 22:52:47
ActiveDirectory ドメイン環境で、
iisのアクセス権の設定で、基本認証にすると
ユーザ、パス入力のダイアログ出るんですけど、
クライアントPCにすでにドメインログオンしてるので、
ダイアログ出さずに認証通したいのですが、
どうやればいんでしょう…。

以前、IEだとダイアログなしで認証できてたサイトがあったので、
方法はあると思うんですけど。firefoxとかだとダイアログでてました。

507:506
08/05/08 23:25:54
一応自己解決
web.configに
<identity impersonate = "true" />
追加でできるらし。

ここでもうひとつ疑問点。
ドメイン外に設置したサーバ上のwebページで、
ドメイン内からアクセスしてきた、ログオンユーザの
ユーザ名を取得する方法ってないでしょうか??


508:nobodyさん
08/05/10 21:35:41
web.configにパラメータを設定したいのですが
web.configへのキーの追加方法が記載された、何か参考になるサイト()はありますあか?

現在、web.configに適当にキーを設定してプログラムから読み込み、コンパイルを
するとweb.configへのキーの書き方が違っているみたいでコンパイルエラーが出てしまいます。


509:nobodyさん
08/05/10 23:06:03
俺.configにパラメータを設定したいのですが、
俺.configへの彼女の追加方法が記載された、何か参考になるサイト()はありますあか?

現在、俺.configに適当にキーを設定してアーッ!

510:nobodyさん
08/05/10 23:54:33
URLリンク(msdn.microsoft.com)(VS.80).aspx

511:nobodyさん
08/05/11 00:10:46
>>510
さんくす

512:ASP.net初心者です男
08/05/12 22:25:01
画面を上下に分割して(つまりFrameで上下に20% / 50%)画面上部に社員番号を入力し
「検索」ボタンを押すと、画面下部の詳細画面に詳細結果を出力するにはどうすれば良いでしょうか?
ベテランの人お願いします。

Default.aspx
SearchTop.aspx
Result.aspx

[ Default.aspx ]
*****************************************************
[ SearchTop.aspx ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

社員番号  ■■■■■■    [ 検索 ]

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

[ Result.aspx ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

社員番号  1234
社員名   とまお 好き男

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

*****************************************************






513:nobodyさん
08/05/12 22:27:15
Frameヤメレ

514:nobodyさん
08/05/12 22:43:30
MasterPageは使いたく無いのです。
確か何かFrameに対するtargetを指定して実行する方法があったと思うのですが。
お願いします。


515:nobodyさん
08/05/12 23:16:45
>>514
今どきframe使うのがいるのに驚いた。
frameは非推奨タグなの知らないの?

なんでMasterPageが出てくるんだ?
MasterPageは便利な機能だが必須ではない。

516:nobodyさん
08/05/12 23:56:21
>>515
ええっホントですか?如何せん、ASP.net初心者ですので。
始めて知りました。因みに推奨されている方法にはどんな物がありますか?


517:nobodyさん
08/05/12 23:57:25
AjaxとClientCallBack関数の違いってあるんですか?
そもそも両者JavaScriptをか介しますが。


518:nobodyさん
08/05/13 00:56:57
>>515
frameの件は.NET関係ない。残念ながら常識のレベル。
なお、.aspxにDB接続とかのロジック書いたりもやめるように。

で、一つの方法としてだがDefault.aspxにTextBoxとButtonとGridView、
SQLDataSourceを置いてバインドしてやるのが一番楽じゃね。
初回表示時にGridViewを見せたくないならvisible = falseするなり、
検索ボタン押下のタイミングでDataSourceとパラメータをセットして、
DataBindしてやればいいと思う。
検索窓をわざわざフレーム切りたいってことは、使い回しをしたいということかな。
もしそうなら、セットでユーザーコントロールにでもしておけばOK。
意味不明なら初心者本でもどうぞ。

>>517
方法論に対する実装の一つ。
つか、AJAX Extensionのように.NET側から
動的にコントロールを更新できないので、俺の用途ではイラネ。


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