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

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

レス数が950を超えています。1000を超えると書き込みができなくなります。
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/
0886nobodyさん2007/07/07(土) 04:16:14ID:???
'
0887nobodyさん2007/07/07(土) 13:05:23ID:A5OmmzDD
>>885こっちの方が見やすいよ。

runat="server"有りなら
'<%# "javascript:test(&#39;" + DataBinder.Eval(Container.DataItem, "code") + "&#39;)" %>'

ってDataBinder.Evalの中に&quot;書いても認識されるのね。
0888nobodyさん2007/07/07(土) 14:30:18ID:7CysBbSW
<asp:RadioButton ID="rboID" GroupName="rboGroup1" Text="ID" runat="server" Checked="true" />
<asp:RadioButton ID="rboName" GroupName="rboGroup1" Text="NAME" runat="server" />
こんな感じでラジオボタンが同じグループにあるとき、どっちがONになっているかを
aspx.csのソースでチェックする簡単な方法ってありますか?

if(this.rboID.Checked.Equals(true))
とかで1個1個チェックしてくしかないのでしょうか?
それともGroupNameから今どのオブジェクトがONになっているか判断可能なのでしょうか?

ラジオボタンが2つ、3つならいいけど5,6個あったらif文だと美しくないよね。
0889nobodyさん2007/07/07(土) 15:33:03ID:???
>>888
RadioButtonList使う。
0890nobodyさん2007/07/07(土) 16:37:40ID:???
<asp:TextBox ID="name" runat="server" />
asp:TextBoxで入力制限を指定する場合はどうすれば良いっすか?
10文字しか入力できないとかにする場合。
0891nobodyさん2007/07/07(土) 17:39:55ID:???
プロパティでMaxlengthってないか?
それ
0892nobodyさん2007/07/07(土) 22:52:37ID:???
>>884
プ それで偉そうに語ってるの?
もうちょっと頭ヒネれよ。
お前ほんとに仕事できんの?
0893nobodyさん2007/07/08(日) 00:18:37ID:???
うざいのまた来たねw
0894nobodyさん2007/07/08(日) 09:59:25ID:???
>>892
お前の言う通り、
ASP.NETなんて中途半端でいまさらやってらんないよな。
組み方がごっそり変わったあたりまで様子見が1番だよ。

だって>>892の周りで最近になって「スマクラ」とか言ってるんだぜ。
>>892のプロジェクトでやるんだから最新の技術なわけよ。
何年も前からある言葉だけど、プロジェクトで教えてもらわないと
身につく奴なんていないよねw

ただ、一つだけ言わせてくれ




ここはお前の日記帳じゃないんだ、チラシの裏にでも書いてろ、な?
0895nobodyさん2007/07/08(日) 20:44:36ID:/oFxnAcw
892がなぜ執拗にこのスレを除きにくるのか
理解できない漏れがいる
0896nobodyさん2007/07/08(日) 21:20:33ID:iBlI6xNa
↓これらの特殊フォルダって言われているやつはどこにあるの?自分で作るの?
/App_Codeフォルダ
/App_Dataフォルダ
/App_GlobalResourcesフォルダ
/App_LocalResourcesフォルダ
/App_Themesフォルダ
/App_WebReferencesフォルダ
/App_Browsersフォルダ
0897nobodyさん2007/07/08(日) 21:28:51ID:???
>>896
ソリューションエクスプローラのルートで右クリ「ASP.NET フォルダの追加」

自分で作ってもいいけどサイトルートしか作れないフォルダとか
あるんでに右クリでやっとけ
0898nobodyさん2007/07/08(日) 21:43:56ID:iBlI6xNa
>>897
自分で「App_Data」とかって入力するの?
大文字小文字の区別はあるんすか?
0899nobodyさん2007/07/08(日) 21:56:12ID:???
>>898
「ASP.NET フォルダの追加」を選択すれば入力の必要は無い。
0900nobodyさん2007/07/08(日) 21:57:09ID:???
>>899
ありがとうございます。
0901nobodyさん2007/07/08(日) 22:00:26ID:???
日本語も読めない馬鹿か、試してみることもできない馬鹿か
0902nobodyさん2007/07/08(日) 22:06:10ID:???
コンパイルってUIを変更可能なプリコンパイルと完全なプリコンパイルがありますが
UIを変更可能なプリコンパイルであえてコンパイルするケースってある?
完全なプリコンパイルやっときゃ良いんですよね?
0903nobodyさん2007/07/08(日) 22:45:53ID:???
>>902
プリコンパイル前提なら完全でいいんじゃね?
配布とか管理とかで考え方は変わるかも知れんが。

動的コンパイル(埋め込み先コンパイル)
「全部変更可能」

更新可能なプリコンパイル
「.aspx .ascx 変更可能」

更新不可能な完全プリコンパイル
「変更不可能」
0904nobodyさん2007/07/08(日) 23:54:43ID:rHIzwNfJ
>>894
>何年も前からある言葉だけど、プロジェクトで教えてもらわないと
>身につく奴なんていないよねw


こういう奴マジで勘弁して欲しい。
システムを作るために、ではなく作れるようになる為に裏口からゴソゴソと入り込まれたんじゃ迷惑なんだ。
足手纏いにしかならないんだよね、こういう屑って。
学費取るぞこの野郎って感じ。
0905nobodyさん2007/07/09(月) 00:16:07ID:???
初歩的な質問で申し訳ないんだが
<input type="text" runat="server"と<asp:TextBox runat="server">はどう違うの

ボタンのクリックイベントをクライアントに書いたイベントと全く同じイベントを
aspx.csに書いた場合、クライアントのイベントが優先されるの?その後サーバ側のイベント?
それともクライアントのイベントのみ有効になるとか?
0906nobodyさん2007/07/09(月) 00:31:02ID:???
>>905
それぞれのプロパティ見てみ。違いが有るから。
0907nobodyさん2007/07/09(月) 00:33:26ID:???
>>906
プロパティの違いは分かったけど、どう使い分けるの?
このケースはHTMLタグだねとかこのケースは<asp:だねっていう勘所は?
とくにHTMLタグにrunat="server"を付ければaspx.csでイベント拾えるし。
0908nobodyさん2007/07/09(月) 00:34:32ID:???
別ページにPOSTでデータ送信って可能?
0909nobodyさん2007/07/09(月) 09:47:41ID:???
>>907
コントロールの基本クラスだけで制御できるならHTMLタグに
runat="server"を付ければよい。ViewStateもイベントも動作するし。

ただ、WebControls.TextBox メンバでできる事を利用したければ<asp:
を利用するか、同じ事を自作するかってなる。
例えば良い例じゃないけどAutoPostBackとかね。

本来、「runat="server"」は<h1>とかのサーバコントロールとして
利用できないものをサーバコントロール化する一面があるわけで、
おれは基本的に必要不必要関係なくinput系は<asp:を利用してるけど。

>>908
http://www.microsoft.com/japan/msdn/asp.net/tips/Postback/
マスターページ使っているなら
Page.PreviousPage.Master.FindControlでContentPlaceHolder取得して
それにFindControl(オブジェクト名)で取得する必要があるので注意。
0910nobodyさん2007/07/09(月) 23:17:49ID:YwC6/Z99
教えてください。
完全プリコンパイルってどのようにすれば良いのでしょうか?
メニューのビルドに「プロジェクト名」発行
というのがあるのですが、これを選択して、実行ファイルのみにするという選択をして
発行をすると、dllをaspxファイルのみ指定の場所に出力されるのですが
これが完全プリコンパイルなのでしょうか?
dllとaspxのみなので、ユーザーが実行時にコンパイルされることは無いと考えて良いのでしょうか?
0911nobodyさん2007/07/10(火) 00:06:36ID:???
ViewStateって何あれ。
あんな大量のデータをクライアントに吐かれちゃあ携帯サイトなんて作れねえよ。
皆はどうやって解決してる?
0912nobodyさん2007/07/10(火) 00:36:30ID:???
大量にはかないようにする
0913nobodyさん2007/07/10(火) 00:51:36ID:???
>>910
完全かどうかは発行処理のオプションによるけど
最終的にDLLが出来ていれば、プリコンパイル済みで実行時にコンパイル
されることは無いです。

ちなみに、発行時に動作するのは
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_compiler.exe
なのでVS2005が無くても.NET 2.0 がインストールされているPCであれば
コマンドプロンプトでコンパイルできるはず。

もっと細かいコンパイルを行いたいなら
Visual Studio 2005 Web Deployment Projectsをインストールすると良い。
Web サイト全体をシングルアセンブリにしたりできる。

つうか、
動的コンパイル(プリコンパイルしないでコピー配置)でも、
aspnet_compiler.exeで初期展開時・ソース変更時・(タスクで)OS起動時に
埋め込み先コンパイルしとけば実行時にコンパイルされることは無いから
初回実行時のコンパイルをそこまで気にする必要も無いと思う。
0914nobodyさん2007/07/10(火) 01:03:17ID:???
>>911
モバイルWebフォームは、ビューステートの一部情報や
履歴情報を管理するためにセッションを利用してくれるから
送信量は減ると思う。

モバイルだろうが無かろうが必要の無いEnableViewStateは
無効にするのは必須だとは思うがね。


0915nobodyさん2007/07/10(火) 07:35:51ID:???
ビューステートをSQLServerのtempdbに入れる方法があるね。
それだとクライアントに吐かないので送信量は減るぜ!
0916nobodyさん2007/07/10(火) 16:46:25ID:???
ボタンなどのクリック処理でクライアントの処理をやってからサーバの処理をやりたい場合どのように記述すれば良いでしょうか?

input typeボタンでonclickとonserverclickを書いてもうまく動きません。
<input type="button" id="button1" value="TEST" runat="server" onclick="button1_Click()" onserverclick="button1_ServerClick" />
0917nobodyさん2007/07/10(火) 19:34:57ID:???
aspx.csでダイアログウィンドウをオープンすることは可能でしょうか?
JavsScriptでは↓こんな書き方なんですが、C#で書く場合はどうなりますか?
window.showModalDialog(sUrl, null, "help:no;status:no;resizable:no;dialogWidth:800px;dialogHeight:580px;dialogTop:400px;");
0918nobodyさん2007/07/10(火) 19:36:26ID:???
上手く動くよ
0919nobodyさん2007/07/10(火) 19:39:59ID:???
>917
ダイアログウィンドウはクライアント側で出すもんだ
0920nobodyさん2007/07/10(火) 19:47:29ID:???
GridViewのボタンで「検索」というボタンを配置して
それをクリックするとダイアログ画面が表示されるというのをやりたい。
GridViewのボタンのクリックイベントをJavaScriptで処理する方法はどうしたら良いですか?
0921nobodyさん2007/07/10(火) 20:55:48ID:7E2bqaAN
>>916
button1_Click()の最後に「;」付けてみ。
input type="button"をrunat="server"にした場合、
onclickにポストバック用のjavascriptが追加されるのでエラーになってるっぽい。
つうか、asp.netのボタンコントロール利用すればいいのに。

>>917
ClientScript.RegisterStartupScriptでクライアント側にjavascriptを吐き出す。

>>920
GridViewのボタン「検索」はItemTemplateで作ってるんでしょ?
なら、input type="button" のonclickなりasp.netのボタンコントロールのOnClientClickに
>>885とか>>887の様にデータ連結式で引数渡す。
0922nobodyさん2007/07/10(火) 21:55:59ID:???
obj.uniqueNumber

↓こんな感じのGridViewがあって、各行にはボタンがある。そのボタンをクリックすると、その行の<TD>タグに値をセットするということをやりたいのですが、どう書けば良いでしょうか?

<asp:GridView ID="gridView1" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:TemplateField HeaderText="TEST1">
<ItemTemplate>
<input type="button" onclick="btn_click()" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderText="TEST2" />
</Columns>
</asp:GridView>

//JavaScriptの処理
function btn_click()
{
ここの処理でボタンが押された行のTEST2 BoundFieldに値をセットするにはどうすれば良いでしょうか?
}
0923nobodyさん2007/07/10(火) 22:10:56ID:???
>>920
ItemTemplate使ってGridView上に普通のaspボタンを配置して
OnClientClick(だったっけ?)属性にダイアログの内容とかのコードを書けばいい。
09249232007/07/10(火) 22:12:44ID:???
何だよ、スレをリロードしてなくて>>921-922見ずに書き込んでしまった
俺の出る幕じゃなかったな
あばよ
0925素朴な疑問なんですが2007/07/10(火) 22:17:47ID:???
某アダルトサイトにある、ライブチャットみたいなシステムを
ASP.net(+VB.net or C#)で実現する事は可能でしょうか?

また、パフォーマンス的に劣ったりするものでしょうか?
0926nobodyさん2007/07/10(火) 22:43:34ID:???
>>922
ソース見て出力されているtable タグを操作する
javascript書くだけ。
TEST2 BoundFieldに初期データをどうするのか、
ボタンを押した後の情報はどこから取るのか分からんが。

>>925
某アダルトサイトが分からんからなんとも言えんが、
サーバ側はチャットのデータを蓄積するだけで
結局はクライアント側の処理次第。

09279252007/07/10(火) 22:53:58ID:???
>>926
例えば2chのスポンサーになっている
ライブチャット
チックなサイトを勉強がてら作ってみようと思っています。

※ライブチャットと言うには多少語弊がありますが、
ユーザ間(ユーザA・B)で一昔前のテレビ電話の様に動画を表示(再生)
しつつ、チャット(この部分は簡単に出来ると思います。)を行うサイト
を作りたいと思っています。




0928nobodyさん2007/07/10(火) 23:11:38ID:???
>>927
Flashストリーミングが出来れば
HTML的にはobjectタグで表示するだけ。

つうか、ASP.NETにFlashを自動的に作って
くれるようなものは無いぞ。
09299252007/07/10(火) 23:31:52ID:???
>>928
ぐぐってみたのですが
 PHP+MySQL
の組合せで大体のライブチャット系のシステムは稼動している様なの
ですが、ASP.net + SqlServer (+Flashストリーミング)
にてライブチャットは実現出来るでしょうか?

また、何かオススメなサイトをご存知でしたらご伝授願います。
0930nobodyさん2007/07/11(水) 00:00:47ID:IEK0kU0N
onclientclickとonserverclickってonclientclickが終わったらserverclickにいきますが
clientclickの処理でserverclickイベントを発生させない指定って出来ますか?
例えばclientclickで入力チェックを行い、問題無ければserverclickを実行
ダメだったらserverclickイベントには飛ばないなどやりたいのですが。
0931nobodyさん2007/07/11(水) 00:10:43ID:???
どっちがどっちなんだか訳わかんねーよw
0932nobodyさん2007/07/11(水) 00:16:03ID:IEK0kU0N
>>931
クライアント処理で入力チェックをして、問題無ければサーバに送信ってのをやりたいってこと。
0933nobodyさん2007/07/11(水) 00:21:44ID:???
>>929
PHP+MySQLもASP.net + SqlServerもあくまで手段で
しかないんだから、書き方は違えど、どの様な方法で
実現するかの部分は同じだと思うが。

で、ライブチャットを実現するためのサイトは分からん。
ライブチャットを実現するための一つ一つの技法は説明
している所はあるだろうけど。

どの様なライブチャットを想定しているのか分からんが

・メッセージ用テキストボックスの情報をDBへ蓄積
・DBから情報を取得しメッセージの表示
・Ajaxなりフレームなりでメッセージの表示部分を更新
・HTMLレベルで動画ストリーミング

上二つはASP.NETの範疇だが他は仕様による。
まず、少なからずASP.NETだろうがPHPだろうが実現する
方法を理解すべきだと思う。

>>930
とりあえず、onclientclickの最後に「return false」
つうか、それそもそもASP.NETの質問ではなくjavascriptの
質問だと理解してるか?
とりあえず「return false」
0934nobodyさん2007/07/11(水) 00:23:58ID:???
>>930
ミスった。
問題があれば最後に「return false」
問題がなけば最後に「return true」
0935nobodyさん2007/07/11(水) 00:28:34ID:???
>>933
いつもありがとうございます。
勉強になります。
09369292007/07/11(水) 00:47:01ID:???
>>933
私も勉強になりました。ありがとうございます。
まず、簡単なWEBサイトにてHTMLレベルでの動画ストリーミング
出来るか試してみたいと思います。
0937nobodyさん2007/07/11(水) 10:12:44ID:???
GridViewで出力されるTABLEタグ内のTDタグやボタンタグ1つ1つにIDを付けたいのですが、どうやって付けるのでしょうか?
IDはユニークにしたいので、名称+行数のような名前が望ましいのですが。
0938nobodyさん2007/07/11(水) 12:29:53ID:???
>>937
<input id="aaa" type="button" runat="server">
の様にすれば最終的なHTMLに
id="ctl00_CPH1_GridView_ctl02_aaa"
id="ctl00_CPH1_GridView_ctl03_aaa"
となる。
で、tdはこの方法では無理なので、<span>なりASP.NETの
ラベルなり置いてそいつのIDを拾って。

つうか、ここら辺で迷うならHTMLタグでは無くasp.net
のコントロールを利用した方がいいよ。

runat="server"を利用したくなければGridViewのRowDataBound
辺りで各行、各セルが取得できるのでHTMLだろうがJavascriptだ
ろうが好きなように制御すると良い。
0939nobodyさん2007/07/11(水) 19:04:07ID:Cai09Rxb
DBの内容をDataTableで取得し、その件数分ループして
ループ内でクラスインスタンス化し、ListコレクションにAddする
ということをやりたいのですが、DataTableを件数分ループするという
一般的なやり方はどうすればよいでしょうか?
0940nobodyさん2007/07/11(水) 20:21:17ID:???
>>939
一般的かは分からんが
foreach (DataRow row in table.Rows)
0941nobodyさん2007/07/11(水) 20:26:04ID:???
GridViewのFooterTextに値を入れても何も表示されないんだが、これはどこに出力されるの?

<asp:GridView ID="grid1" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:BoundField HeaderText="name" DataField="name" FooterText="aaa" />
</Columns>
</asp:GridView>
0942nobodyさん2007/07/11(水) 20:37:46ID:???
>>941
<asp:GridView ShowFooter="True"
0943nobodyさん2007/07/11(水) 20:42:45ID:???
>>942
ありがとうございますm(_ _)m

GridViewで値の合計をフッターみたいに表現したいのですが、どうすれば良いですか?
↓TOTALの部分のように。一番下はセルの連結もある。。
−−−−−−−−−−−−−−−
| A | 1  | 30 |
−−−−−−−−−−−−−−−
| B | 4  | 40 |
−−−−−−−−−−−−−−−
|  TOTAL | 70 |
−−−−−−−−−−−−−−−


0944nobodyさん2007/07/11(水) 21:12:59ID:???
>>943
RowDataBoundで
if e.Row.RowType = DataControlRowType.DataRow then
aaa = e.Row.Cellsの合計求める
elseIf e.Row.RowType = DataControlRowType.Footer Then
e.Row.Cells(0).Visible = False
e.Row.Cells(1).Attributes("colspan") = 2
e.Row.Cells(1).Text = "TOTAL"
e.Row.Cells(2).Text = aaa
End If
0945nobodyさん2007/07/11(水) 22:25:55ID:???
long型の変数aをカンマ区切りにしてToString()で出力したいのですが
long型にカンマ編集メソッドってないのでしょうか?
標準関数でそういうものはありますか?
0946nobodyさん2007/07/11(水) 22:38:26ID:???
>>945
ToString("#,##0")

質問の前にMSDNでまず調べる事をお薦めします。
0947nobodyさん2007/07/12(木) 01:13:43ID:???
Page_Load時に!IsPostBackの時のみGridViewのDataSourceをセットしGridViewで値を表示しているのですが
PostBack時にDataSourceがNULLになってしまいます。
DataSourceの値は保持されないのでしょうか?
0948nobodyさん2007/07/12(木) 01:51:04ID:???
ぬるぽ
0949nobodyさん2007/07/12(木) 09:10:05ID:???
>>947
普通はViewStateで保持されるので
PostBackで復元されるはずです。
0950nobodyさん2007/07/12(木) 12:08:33ID:1aEUvUSk
<label id="test" runat="server"></label>
サーバコントロールに対しJavaScriptでinnerTextで値をセットしても、ポストバックすると値が消えてしまうのは何故なのでしょうか?ViewStateはONにしています。

document.all.test.innerText = "TEST";

JavaScriptでTESTと値をセットしポストバックするとPage_Loadイベントではもう
document.all.test.innerTextが""となっている。
0951nobodyさん2007/07/12(木) 12:55:08ID:???
>>950
ViewStateの基本を説明するのは面倒なので
下で勉強してください。
http://ja.gotdotnet.com/quickstart/aspplus/
0952nobodyさん2007/07/12(木) 13:10:48ID:???
>>803
2.REMOTE_HOST
 (IISの設定が必要。デフォルト設定ではネットワーク負荷を考慮してるのでREMOTE_ADDRと同じ値が返る。)

この部分で私も詰まってしまいました。
http://blog.asura.co.jp/takehara/bd824dccefef475888eb08fc6e93ce44/entry.aspx

↑を参考にし、

http://support.microsoft.com/default.aspx?scid=kb;ja;245574

↑をやってみようとしたのですが、いかんせん知識がなく、IISの核でもあるのでヘタに触るとイっちゃいそうで(;ω;)

この設定を1フォルダ(1サイト)のみに適応したいのですが、わかりやすい手順でご教授お願いできますか?
0953nobodyさん2007/07/12(木) 13:49:08ID:???
>>952
http://support.microsoft.com/default.aspx?scid=kb;ja;245574の
例 2 - 個々のサイトに対して逆引き参照を有効にするに書いてある通りです。

サイトの番号調べて
cscript adsutil.vbs set /w3svc/"ここにサイト番号"/ROOT/EnableReverseDNS "TRUE"

ってか、
理解しているのか分らんが上の指定はIISが常に
REMOTE_HOSTをDNSに問い合わせると言う設定なわけだから、
必要な時に自分で求めるならばプログラムでIPアドレスをホスト名
に変換したっていいんだぞ。

予想で↓で事足りる程度の問題じゃないの。
System.Net.Dns.GetHostEntry(Request.ServerVariables("REMOTE_HOST").ToString).HostName
0954nobodyさん2007/07/12(木) 14:23:59ID:???
>>953
レスありがとうございました。私は2003で開発してますので、

>予想で↓で事足りる程度の問題じゃないの。
>System.Net.Dns.GetHostEntry(Request.ServerVariables("REMOTE_HOST").ToString).HostName

↑はできませんでしたが、ヒントをいただいて、
System.Net.Dns.GetHostByAddress(Request.ServerVariables("REMOTE_HOST").ToString).HostName
としてみました。結果的には同じでしょうか?
0955nobodyさん2007/07/12(木) 14:54:53ID:???
>>954
結果を聞くよりも、それでうまくいったのかい?
結果的には同じかはMSDNを見た方がいいよ。

0956nobodyさん2007/07/12(木) 16:17:36ID:???
>>954
"122.***.65.204" ← Request.ServerVariables("REMOTE_HOST").ToString
"p2204-ipbf***funabasi.chiba.ocn.ne.jp" ← System.Net.Dns.GetHostByAddress(Request.ServerVariables("REMOTE_HOST").ToString).HostName

一部伏せましたが、結果は大丈夫です。ご教授ありがとうございました。
0957nobodyさん2007/07/12(木) 22:49:45ID:FMGVpLzG
PostBackイベントでサーバーサイド処理するのと
javascriptでsubmit()してサーバサイドで処理するので何か違いはあるの?
0958nobodyさん2007/07/12(木) 23:54:39ID:???
>>951
ViewState以前の問題
0959nobodyさん2007/07/13(金) 09:51:00ID:???
>>957
質問の意味が不明
0960nobodyさん2007/07/13(金) 21:55:02ID:???
そもそもjavascriptはクライアントサイドであって、つまり・・・↓(任せた)
0961nobodyさん2007/07/14(土) 02:12:14ID:???
有名なサイトでasp.netで作られたものってある?
0962nobodyさん2007/07/14(土) 02:49:21ID:???
そりゃあるだろ。
0963nobodyさん2007/07/14(土) 11:18:41ID:???
>>962
10個くらいあげてみて。
0964nobodyさん2007/07/14(土) 16:37:02ID:iGAbpPzR
ページ間でイベントをやり取りする定番パターンとかってありますか?

同一サイト上のページ「メイン」をIEで見ていて、
その中のリンクをクリックすると「サブ」が別ウインドウでポップアップして「サブ」を閉じたときに「メイン」の画面を更新したい。
ってことをやりたいです。
0965nobodyさん2007/07/14(土) 17:40:24ID:???
>>964
Web全体として別ウィンドウが立ち上がる仕組みは
避けられつつあるのでASP.NETにそう言った機能は無い。

今後はAjaxなどで代替される事が予測されるかな。
http://ajax.asp.net/ajaxtoolkit/ModalPopup/ModalPopup.aspx

んじゃ、
どうしたら良いかと言うと、別にASP.NETも最終的にはHTML+Javascriptが
クライアントに送られるわけだから、javascriptのwindow.open()のリンクで子ウィンドウを
開いて子ウィンドウからwindow.openerで親を制御する以前と変わらぬやり方で行えばよい。
0966nobodyさん2007/07/14(土) 18:11:10ID:???
ASP.NETってAPサーバがIISじゃないとダメですよね。
IISってOSがWindowsですよね。
そういう制約が無ければもっと普及してると思う。
.net・C#はJSPやJavaよりも開発しやすい。
言語的にもJavaにひけを取らない。
もっと普及してくれればエンジニアも増えるし、それによって参考書や
色んなノウハウも出てくるだろうし。
0967nobodyさん2007/07/14(土) 19:00:01ID:???
>>966
一応、ASP.NETのマネージコードをApacheで動かすための
mod_monoがある。

英語のサイトで調査できる。
webの基本を知っていてASP.NETの既存のパーツで
トラぶったら代替案を考えられる。
mono自体の動向を常に追える。

とかが必要なので、気軽にとは行かないが。
個人的に利用しているが、何も知らない人がmonoに時間を
使うならJavaやPHPとかを覚えた方がいいけどね。
0968nobodyさん2007/07/14(土) 19:49:42ID:???
>>963
http://www.google.com/search?hl=ja&safe=off&client=safari&rls=ja-jp&as_qdr=all&q=allinurl%3Aaspx+filetype%3Aaspx&btnG=検索&lr=lang_ja
いっぱいあるよ
有名かどうかの判断は任せる
0969nobodyさん2007/07/14(土) 22:33:34ID:HhSnD+8F
GridViewでDBの値をそのまま出力するのではなく
値が1だったら○
値が0だったら×
GridViewでそういうことは可能?
0970nobodyさん2007/07/14(土) 23:32:36ID:???
〇▼↓
などの記号は海外パソコンからでもちゃんと表示されるの?
これらがブラウザに出力されると日本語フォントのインストーラが立ち上がるとか?
0971nobodyさん2007/07/14(土) 23:46:40ID:???
if文でいけるんじゃね?
0972nobodyさん2007/07/15(日) 00:17:39ID:???
>>969

GridView_RowDataBound
if e.Row.RowType = DataControlRowType.DataRow then
e.Row.Cells(1).Text = ”○”とか"×"とか

もしくは

BoundFieldをTemplateに変換して
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# IIF(Eval("値").ToString="1","○","×") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
0973nobodyさん2007/07/15(日) 01:23:13ID:???
グラフの表示はどのような機能を使って実現すれば良いでしょうか?
グラフ表示用のコントロールはありますか?
今はSVGビューアを使ってJavsScriptで自作のグラフライブラリを使って
グラフを表示しているのですが、IE7だとグラフの一部が表示されなかったりします。
これはIE7にはSVGが対応していない為のようです。
このグラフは、かなり綺麗に表示され(Yahooのアンケート結果みいな綺麗なグラフ)気に入っているのですが
今後IE7が全社展開した場合、グラフが表示されないという事態になるため
グラフライブラリをSVGビューアを使わないものにしたいのですが、ASP.NETのコントロールで
何か良いものはありますでしょうか?
最悪VMLとかっすかね。。
0974nobodyさん2007/07/15(日) 02:28:52ID:???
>>970
英語版とかでもUnicodeならデフォルトで
フォント持ってるので大丈夫(だったと思う)。
OSとかブラウザとかバージョンとかを全て
含めれば単純な話ではないだろうけど。

>>973
なんか状況が良く分からん。
AdobeのSVGビューアにJavsScriptを使って表示していて
(IE7以外のブラウザなら表示できるのに)IE7はSVGビューアを
使ってもグラフの一部が表示されなかったって事か?

表示をSVGビューアに任せているならSVGビューアの問題の
気がするが。
0975nobodyさん2007/07/15(日) 11:02:36ID:???
>>974
SVGビューアの問題なのでどしようも無い状態です。

VS2005とかでグラフを簡単に表示できるコントロールとかあれば
利用したいのですが、皆さんは円グラフとか折れ線グラフの表示は
どのようにされているのでしょうか?
グレープシティのツール買ってるとか?
0976nobodyさん2007/07/15(日) 11:48:45ID:???
>>975
普通はブラウザを意識せずに利用するためにFlash・Javaサーブレット・画像が普通。
大抵のグラフ表示商用ツールも上記だと思うから自作も出来る。
ブラウザ限定とか制限ありでActiveX・SVGあたり。

で、
今のSVGを捨てるつもりなのか、Yahooのアンケート結果見たいにしたいのか、
画像でもいいのか、分からんのでなんとも言えんが
「SVGを表示するSWF」とかあったり、「Office Web Components」とか「web グラフ」で
ググって見るとか試行錯誤するなら調べてみ。
まぁ、そんな事に時間を使うならYahoo見たいなFlash作ったほうが早いと思うが。
0977nobodyさん2007/07/15(日) 12:13:23ID:???
>>976
色々ありがとうございます。
Flashで開発してみます。
09789642007/07/15(日) 15:57:26ID:???
>>965 ありがとうございます。window.openerでやってみます。
Modelessだと別ウィンドウのほうが使い勝手がよいので、当面の間は別ウィンドウかなと。
0979nobodyさん2007/07/15(日) 20:35:55ID:9rTzCp+e
ViewStateの値をDBに格納しておけばhiddenに出力されなくなる?

0980nobodyさん2007/07/15(日) 20:43:05ID:6PV7iA4t
Pageでクライアントに出力したResponseの総バイト数を
実行中に知るにはどのようにすればよいでしょうか?
具体的にはPage内から計算したいのです。Page_Loadから計算できませんか?
0981nobodyさん2007/07/16(月) 02:30:58ID:???
おまえは馬鹿か?
0982nobodyさん2007/07/16(月) 12:57:53ID:???
>980
なんでそんなことしたいの?
因みにPage_Loadはクライアントに出力されるResponseが構築される前だから無理だよ。
0983nobodyさん2007/07/16(月) 23:53:57ID:???
Pageで知るというよりページサイズを何バイト以下にするとかAssertしたいからなんですが
0984nobodyさん2007/07/17(火) 00:31:08ID:???
Global.asaxの適当なイベントで、ページの場合にレスポンスフィルタを設定。
とりあえずレスポンスフィルタはバイト長を数えながらそのままもとのストリームに書き込む。
EndRequestとかでレスポンスフィルタで数えた長さをチェック。
09859802007/07/17(火) 01:18:24ID:???
どうもありがとうございます。
やってみます。
レス数が950を超えています。1000を超えると書き込みができなくなります。