トップページ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/
0542nobodyさん2007/04/11(水) 20:21:20ID:???
>>541
その画面のpageディレクティブでCodePageかResponseEncodingあたりの設定をしてみたらどうかね
おれはやったことないが
05436402007/04/12(木) 17:33:27ID:+yX9qbQy
GridViewにユーザーコントロールを埋め込みたいんですが
データバインドの方法がいまいちわかりません。

例えばユーザーコントロールにPublic Propertyを宣言して
ここにデータをバインド、PreRenderイベントでユーザー
コントロール内を動的に生成したいのですが
まずGridViewのフィールドのデータバインドを設定する
ウィザード?にユーザーコントロールのPropertyが
表示されません。

まだGridViewへのデータバインドは解決してない
(テーブルがまだ決まってない)のですが、それが
原因でしょうか?

なるべく歩きやすい道を教えてくださいお願いします。
0544nobodyさん2007/04/12(木) 17:47:42ID:???
>>543
GridViewは使わないので外してたらすまん。

・DataBndするデータがネストされた子データ
デザイナでユーザコントロールに
DataSource='<%# thisGetChildData(Container.DataItem)%>'みたいに記述して、
protected rows[] GetChildData(Object dataItem)のメソッド内で
DataItemからDataRowを取得して、GetChildRowでRow[]を返せばよろし

・まったく関係ないデータ
ユーザコントロール内でデータを取得してバインドしちゃえば?

というか素直にRepeaterを使った方がいい気がする。

0545nobodyさん2007/04/12(木) 22:15:58ID:???
>>544
ありがとうございます。まさにネストされた子データを表示したかったんです。

Repeaterを使うべきかなーとは思っていたんですが、2005は使い慣れてなくて
便利な機能が増えてるので知らないで苦労したら損と思い、スマートタグに
表示されるデータバインドで解決しようとよけいな苦労をしてしまいました。
おかげさまですっきりしました。
0546nobodyさん2007/04/13(金) 01:24:33ID:F/O/biBk
511のサイトがわかりにくいんだが、
もっと簡単に説明してるページとかない?
0547nobodyさん2007/04/13(金) 14:44:57ID:???
>>546
http://japan.internet.com/developer/20051220/25.html
0548nobodyさん2007/04/13(金) 15:24:06ID:???
xmlDocumentクラスのばーやばーや
xmlが分からないと使えないなんて面倒くさいんだよ!!
…もうだめぽ…
0549nobodyさん2007/04/13(金) 19:18:02ID:???
ASP.NET 2.0 VIsualStudio2005 C#でWebuserControlを作ってるんだが、
イベント作成してもイベントインスペクタ(?)に作ったイベントが表示されない(´Д⊂グスン

いちおうclass内でpublic event EventHandler PageLoadedと定義してるんだけどうまくいかん。
ちなみにWindowsFormでユーザコントロール作るとちゃんと表示されるんだけど、
なんでWebユーザコントロールだとだめなんだろう・・。

誰かしってる人がいたら教えてください。・゚・(ノД`)・゚・。 うえええん
0550nobodyさん2007/04/14(土) 11:13:15ID:gbSM0vt5
VS2003って使い勝手悪いな・・・
2005使いたいけど仕事では2003じゃないと駄目なんだ・・・
オワタ・・・
0551nobodyさん2007/04/14(土) 14:41:22ID:???
弘法筆を選ばず
0552nobodyさん2007/04/14(土) 14:46:25ID:???
>>551
俺が悪いって事か・・・orz
0553nobodyさん2007/04/14(土) 15:47:59ID:???
>550
Vista対応を名目に2005に移行を促すのも手だと思うよ。
Vista上で1.1でもだいたいはそのまま動くからそれほど強く言えないけど。
0554nobodyさん2007/04/14(土) 16:29:19ID:???
新卒が同じようなこと言ってたな
まだ2003使ってるんですか?って。
0555nobodyさん2007/04/14(土) 17:22:34ID:bTaKBGMC
2003も出た当時はアレだったんだが
2005と比べるとインテリセンスが微妙だしクリックワンコもついてないし
でも2003ならSp2で1.1入れてるやつ多いだろうから配布のときらくだ
0556nobodyさん2007/04/14(土) 17:24:19ID:bTaKBGMC
>>547
とんくす。
スンゲーわかりやすい
0557nobodyさん2007/04/14(土) 17:46:52ID:???
545です。
再び困りました。

型指定付きのDataSetにストアドの結果2つを追加してリレーションシップを設定しました。
で、ネストしたRepeaterに
<asp:Repeater ID="Repeater2" runat="server" datasource='<%# Ctype(Container.Dataitem,DataRowView).CreateChildView("UserPageURLs_UserPageLinkList")%>'>
としてコードビハインドで

Dim ds As New DSUserPages
Dim ta As New DSUserPagesTableAdapters.UserPageURLsTableAdapter
Dim dt As New DSUserPages.UserPageURLsDataTable
ta.Fill(dt, Session("UID"), CType("9999/12/31", DateTime))
ds.Tables.Add(dt)
Repeater1.DataSource = dt
Repeater1.DataBind()
Dim dt2 As New DSUserPages.UserPageLinkListDataTable
Dim ta2 As New DSUserPagesTableAdapters.UserPageLinkListTableAdapter
ta2.Fill(dt2, Session("UID"))
ds.Tables.Add(dt2)

こんなことやってますが、リレーションシップがこの DataView がポイントするテーブルの親になっていません
というエラーが出ます。
ネスト部分を消すとRepeater1は正常にデータを表示できます。
リレーションやキーの設定は間違ってないと思うのですが、どういうことでしょうか?
こんなエラーはよっぽどの間抜けらしくヘルプでも項目が見つからないのです。
0558nobodyさん2007/04/14(土) 18:17:50ID:???
>>557
追記。

ここでもエラーが出てました。
>ta2.Fill(dt2, Session("UID"))
追加しようとしたテーブルがインデックス違反をしているそうです。
これが原因かもしれません。
05593442007/04/14(土) 19:34:32ID:???
>>557
544です。
VisualStudioで、型指定付きのDataSetのxsdを作成してるのかな?
んで、そのデザイナ画面上でリレーショナルを設定しているということかな?

なら、そのDataTableの使い方がおかしい。
DataSetのインスタンスを生成した時点で、そのメンバであるDataTableも
作成されているので、別途DataTableのインスタンスを生成して、データセットに
addしなくてもいいはず。

必要な宣言は、
DSUserPages ds = new DSUserPages();
DSUserPagesTableAfapters.UserPaggeURLsTableAdapter dt = new .....
DSUserPagesTableAdapters.UserPageLinkListTableAdapter ta2 = new ....
だけ。

DataSetに取得したデータを入れるには
dt.fill(ds.UserPageURLsDataTable)
dt2.fill(ds.UserPageLinkListDataTable)
でok。

別途DataTableを作ってAddしてるのがまずおかしいので、そこから
直してみたほうがいいかもしれない。

それから、コレは好みで、今回のエラーとは関係ないけど、
リレーショナルを設定してるDataSetの場合、まず必要なDataTableを
すべてFillしてからRepeaterとかにBindしたほうがいい。
すべてFillする前に何らかの処理をしようとすると外部キー制約とかで
不注意にエラーになることがあるので、まず完全にDataSetを作ってから
Bindするなり操作する癖をつけたほうがいいよ。
0560nobodyさん2007/04/15(日) 00:33:57ID:???
わたしもそう思ったんですが
Dim ds As New DSUserPages
Dim ta As New DSUserPagesTableAdapters.UserPageURLsTableAdapter
      (ここでパラメータの処理)
ta.Fill(ds.UserPageURLsDataTable)
ところがここで「ds.UserPageURLsDataTableは型です。式として使用することはできません。」
と言われてしまうんですね。なので型指定付きのxsdはスキーマ情報しか持ってないのか
と思ってインスタンスのDataTableをAddしてたんです。
するとコンパイラは通るのですが、上記エラーが出るんです。

DSUserPages.Designer.vbの中を確認すると
Private Sub InitClass()
・・・
Me.tableUserPageURLs = New UserPageURLsDataTable
MyBase.Tables.Add(Me.tableUserPageURLs)
Me.tableUserPageLinkList = New UserPageLinkListDataTable
MyBase.Tables.Add(Me.tableUserPageLinkList)
Me.relationUserPageURLs_UserPageLinkList = New System.Data.DataRelation _
("UserPageURLs_UserPageLinkList", New System.Data.DataColumn() _
{Me.tableUserPageURLs.UserIdColumn, Me.tableUserPageURLs.URLIDColumn}, _
New System.Data.DataColumn() {Me.tableUserPageLinkList.UserIdColumn, Me.tableUserPageLinkList.URLIDColumn}, false)
Me.Relations.Add(Me.relationUserPageURLs_UserPageLinkList)
End Sub
となっており、仰るとおりにテーブルのインスタンスを作成してるのです。

もうわけがわかりません。w
0561nobodyさん2007/04/15(日) 00:40:21ID:???
なんでVBばっかりなんだ?
C#でやってるやつはいないの?
0562nobodyさん2007/04/15(日) 03:25:33ID:???
ノシ
確かに検索で出てくるページもVBが多いよね
お陰でVBも読むことは出来るようになってきたw
0563nobodyさん2007/04/15(日) 11:49:38ID:???
>>560
追記。
http://www.microsoft.com/japan/msdn/thisweek/300x10/phase2/webservices_winapp/vb.aspx
Public Function GetDepartments()As DsAdv
Dim ds As New DsAdv()
Dim adapter As New DsAdvTableAdapters.DepartmentTableAdapter()
adapter.Fill(ds.Department)
Return ds
End Function

やはりMS様もこれでいいと仰ってます。
DataSetのテーブルかなんかの設定で間違ってるのかなぁ?
0564nobodyさん2007/04/15(日) 12:41:58ID:???
>>560
自己レスです。解決しました。
ta.Fill(ds.UserPageURLs,パラメータ,パラメータ)
でコンパイラが通りました。
UserPageURLsがテーブル名でした。
UserPageURLsDataTableはテーブルの型を定義するプロパティだったんですね。orz
オートコンプリートに表示される候補のDataTableという名前で完全に勘違いしてしまいました。
0565nobodyさん2007/04/15(日) 13:18:08ID:???
え・・・まさかヘルプも読まないで質問・・・
0566nobodyさん2007/04/15(日) 17:11:09ID:???
>>561
俺もC#
VBも書けるけど、なぜかC#で書いてるな。
0567nobodyさん2007/04/16(月) 14:01:35ID:AFy90HQV
VS2005,C#でSQL2000から2個のテーブルをデータセットに読み込んで
そのテーブルを比較して整合性を取りたいと考えています。
テーブルの内容はAテーブルには日付フィールドと仕事の予定フィールド
Bテーブルには日付フィールドと休日の予定フィールドが入っています。
(A・Bの日付が被る事はありません)
このABテーブルをAテーブルに纏めたいのです。
Bテーブルは終業時、同様の処理をしてバックアップ代わりにします。
普通に考えてBテーブルの全てのROWの日付でAテーブルをセレクトし
てBテーブルに存在しなければROWを追加してやれば良さそうに思うのですが
頻繁に行う事が予想されるので出来るだけ不可の少ない処理で
済ませたいのですが妙案はないでしょうか?
0568nobodyさん2007/04/16(月) 18:58:56ID:5T51gVIn
漏れもVB
コード変換ソフトとかあるし
VBでもC#でも問題ないんだが
0569nobodyさん2007/04/16(月) 20:49:06ID:68o6OWMk
>>568
c#で書いたのをVBに変換するのってあるでしょうか?
0570nobodyさん2007/04/16(月) 22:40:18ID:???
>>569
C#VB 変換 でググれ
基本だろ
0571nobodyさん2007/04/16(月) 22:48:59ID:???
J#使う人って稀?
0572nobodyさん2007/04/16(月) 22:52:02ID:???
>>567
AとBの日付が絶対にかぶらないならSelectしたBをそのまま
Insertすればいいんでないの?
も負荷を小さくするならストアドをかな。

もしくはAとBをUnionしたものをビューに登録。
さらにAテーブルをRIGHT OUTER JOINして、追加したフィールドが
nullのものだけをWHEREで切り取る。
そうすればAになくてBにあるものだけが抽出できる。

つかそのままAとBをunionしたビューをそのまま使い続けて、
新しいテーブルに、そのビューの内容をコピーしたほうが
簡単な気がする。
0573nobodyさん2007/04/17(火) 19:45:43ID:OYnOoGtS
>>571
稀だろ
つか使ってる奴みたことねぇ
J#つかうならJavaのほうがいいような気がしなくもない
0574nobodyさん2007/04/17(火) 22:11:02ID:???
Visual Web Developer 2005 Express Edition って
M$のサイトからダウンロードできるのと店で売ってるのと
何が違うんでしょうか??
05753442007/04/17(火) 22:22:37ID:???
>>574
本当は期間限定での無償ダウンロードで、その名残。
違いはオリジナルのマニュアルが付くところ。
05765742007/04/17(火) 23:14:46ID:???
>>575
ありがとです。
ってことは、機能的に制限があるわけじゃないんですね。。。

(´ε`;)ウーン…VS2003使いとしては微妙だなぁ。。。
0577nobodyさん2007/04/17(火) 23:17:13ID:???
VS2003とか使いづらくて使う気になれん
特にVS2005に慣れたら尚更
05783442007/04/17(火) 23:31:00ID:???
>>576
VWDに関しては、でかいことするんでなければ、
普通に業務用にも使えると思うけどなー。
05795742007/04/17(火) 23:51:38ID:???
>>577
そうなんですよ、、VB6からの乗換えでせっかく慣れてきたのにまたかよ('A`)ノ
って感じですわorz...
M$には、中小企業で開発環境が変わることの大変さを知って欲しいですわ。。

>>578
Webの案件は初めてでVS2003で試行錯誤して、「うひゃっ!なんか出来ちゃったwwwww」
って思ったんだけど、、、、ASP.NET 2.0 ( ゚Д゚)イッテヨシ!!
また試行錯誤してみますorz......
0580nobodyさん2007/04/18(水) 06:09:51ID:+avfGZDm
VS2005でASP.NET Webサイトを含むソリューションでリファクタ機能やすべての参照の検索など使用すると
毎回aspxなどのコンパイル処理みたいなのが走って、すごい時間がかかるんですが
早くする設定などはあるのでしょうか?
0581nobodyさん2007/04/18(水) 14:11:23ID:???
>>580
リファクタやなんやらは、すべてのファイルをgrepして調べてるんだから、
すごい時間がかかるのは当たり前。
ファイルの参照設定をちゃんとやったりして可視性を見直すしかないと思う。
0582nobodyさん2007/04/18(水) 23:14:27ID:+avfGZDm
レスサンクスです。
通常のWindowsアプリケーションとかだとあんまり時間がかからなかったため
何か設定でもあるのか、自分の環境だけなのか知りたくて質問しました。
今のところ、通常のgrepのほうが断然早いのでノイズが入ってしまうのを覚悟で手動で検索しています。
0583nobodyさん2007/04/19(木) 11:10:59ID:???
DROPDOWNLISTのLISTITEMの文字列に文字参照で入ってきたとき、そのまま出ちゃうんだけど
(&#hearts;とか)ちゃんとハートマークにして表示って出来ませんか?
05843442007/04/19(木) 16:23:20ID:???
CustomWebControlを作ればいいよ
DropDownListはRenderContentsメソッド内でデータをhtmlencodeして出力しているらしい。
だからRenderContentsを↓のようにOverrideしてhtmlencodeをはずしてあげればいいはず。
public class NonHtmlEncodedDropDownList : System.Web.UI.WebControls.DropDownListを定義して
protected override void RenderContents(HtmlTextWriter output)
{
 int count = Items.Count;ListItem item;bool selected = false;
 for (int i = 0; i < count; i++)
 {
  item = Items[i];
  output.WriteBeginTag("option");
  if (item.Selected)
  {
   output.WriteAttribute("selected", "selected", false);
   selected = true;
  }
  output.WriteAttribute("value", item.Value, true);
  output.Write(">");
  string text = item.Text; ←ここで本当はhtmlencodeされているハズ
  output.Write(text);
  output.WriteEndTag("option");
  output.WriteLine();
 }
 output.Write(Text);
}
this.NonHtmlEncodedDropDownList1_1.Items.Add(new ListItem("♥", "1"))
これでハートが表示されてる。バグってたらスマソ。
0585nobodyさん2007/04/19(木) 17:04:24ID:???
>>584
ありがとう、俺VBしかわからないんだけどなんとなくわかったよ!
HtmlTextWriterがなにやってるかを探してencodeしてる部分だけ差し替えればいいんだよね?
05863442007/04/19(木) 18:02:09ID:???
>>585
HtmlTextWriterは単にタグを作成するのに利用してるだけなので、
それそのものを調べても意味がないかも。

実際の(HtmlEncodeして表示している)RenderContentsメソッドを隠蔽して
別途HtmlEncodeしない仕様のメソッドを定義して利用させるってこと。

そのためにDropDownListの継承classを作成して、RenderContentsメソッドを
overrideするメソッドを作る。

ただし、こうするとタグが自由に利用できてしまうので、
使用可能な特殊コードのみHtmlEncodeを通さないようにして、
それ以外は通常通りHtmlEncodeを通すようにしたほうがいいかもね。
0587nobodyさん2007/04/19(木) 18:41:04ID:???
>>586
丁寧にありがとう!

>そのためにDropDownListの継承classを作成して、RenderContentsメソッドを
>overrideするメソッドを作る。

これをやってみたんだけど「その型 (test.NonHtmlEncodedDropDownList)はコントロール (System.Web.UI.WebControls.DropDownList) の型と互換性がありません。」
っていわれちゃった…
この作った継承クラスで目的のDROPDOWNLISTを定義してるのが間違ってますか?
05883442007/04/19(木) 18:48:58ID:???
>>587
vb.netの言語仕様に関してはちょっとわからない。
↓を参考にしてみて挑戦してみてください。
http://www.atmarkit.co.jp/fdotnet/basics/oop04/oop04_03.html
0589nobodyさん2007/04/19(木) 19:42:43ID:???
ありがとう、がんばってみます!
0590nobodyさん2007/04/20(金) 12:16:41ID:ev1GBwjC
>>580-581
リファクタリングを早くする方法は
http://pc11.2ch.net/test/read.cgi/tech/1176646923/13
を参照のこと。

ただそれによって早くなるのは
http://pc11.2ch.net/test/read.cgi/tech/1176646923/40
という理由らしいから、使い方はお気をつけて。
0591nobodyさん2007/04/20(金) 13:04:58ID:B09CNaZo
沖縄県の方へ(命に関わる注意事項です)

沖縄県での選挙ですが、どうか民主党だけは避けてください。県民の生命に関わる可能性があります。
民主党の最大の公約は一国二制度(※)ですが、一度「一国二制度 沖縄 三千万」で検索をお願いします。
この際、民主党のHPで調べても良いです。以下の注釈↓と矛盾することは書いてないはずですから…

※一国二制度
 簡単に言えば沖縄を中国と日本の共有物にし、そこに3000万人の中国人を入植させます。
 (つまり沖縄人口の 96% を中国人にして、実質、沖縄を中国人の居住地とします。)
 さらに「自主」の名の下、沖縄で有事が起きても自衛隊は干渉できません。
 3000万人の中国人が、少数派となった130万人の日本人に何をしても、です。
 そして反日教育を受けた中国人の反日感情の強さは、ほとんどの日本人の理解を超えるものです。

今回の選挙で民主党が勝った場合、「自主」「発展」を連呼しつつ段階的に進めていくことになります。
自主と言っても、自主を認めるのが「住人の96%が中国人となった」後だということに気をつけてください。
発展と言っても、新沖縄の少数派となった「少数民族日本人」の発展ではないことに気をつけてください。
05925822007/04/21(土) 00:50:22ID:???
>>590激しくサンクス
今まで、しょうがないんでWebサイト切り離してリファクタしてました。
0593nobodyさん2007/04/22(日) 00:20:10ID:???
経験豊かな方ご教示願います。
ある事情があって先にHogeServerというconnectionStringsを使っていました。
で、ユーザー認証その他の機能を使いたくて以下のように変更しました。

<connectionStrings>
<remove name="LocalSqlServer" />
<add name="HogeServer" connectionString="以下略
</connectionStrings>

<membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="15">
<providers>
<clear />
<add
name="SqlProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="HogeServer"
applicationName="Hoge"
以下略

こうしたところ、ユーザーの登録や削除はASP.NET構成ツールでうまく機能しました。
ユーザー登録関連のコントロールもちゃんと動きます。
ところが、ロールの設定やプロバイダの設定でエラーがでます。
どうもmachine.configに上書きしてない"LocalSqlServer"という項目がかなり残ってるようです。
こんなとき、みなさんならどうしますか?
1.machine.configを検索して"LocalSqlServer"の項目をすべて"HogeServer"に書き換える
2.machine.configを検索して"LocalSqlServer"の項目をすべてweb.config上でRemoveして"HogeServer"に書き換える
3."HogeSerVer"を"LocalServer"に戻してコードの中の"HogeServer"をすべて書き換える

どんな影響があるのか不安でどうしたらいいかわかりません。ご意見をお願いします
05945942007/04/22(日) 10:26:39ID:g6P3Re1p

認証関連ですがお手上げなんで教えてください
Windows Server 2003 R2で,
テキストファイルで作成したC#のdefault.aspxに
http://localhsot/default.aspxのようにアクセスすると認証のダイアログが出ず,
http://127.0.0.1/default.aspxのようにアクセスすると認証のダイアゴルが出てしまいます.
認証のダイアログを出さないようにするにはどう設定したらよいのでしょうか???
IISのディレクトリセキュリティの設定では,「匿名アクセスを有効にする」と「統合Windows認証」にチェックが入っています.
ファイルのセキュリティでは,NETWORK SERVICEが読み取りと実行が可能になっています.
0595nobodyさん2007/04/22(日) 14:13:19ID:???
>594
Windows認証が効いてるんだろ?
チェック外してみろ。
0596nobodyさん2007/04/22(日) 23:29:14ID:???
Webアプリ久々に開発することになって、最近ASP.NET2.0弄り始めたが
なんだこれ・・・過去に苦労してたのがすっげー楽に実現できる。
カルチャーショックだな
0597nobodyさん2007/04/23(月) 10:11:07ID:???
デカルチャー
0598nobodyさん2007/04/23(月) 11:16:42ID:???
>>596
俺も6年ぶりぐらいにWebアプリに戻ってきたけど、かなりのカルチャーショック。

ADO.NETの仕組みとか、.NETのライブラリの基本とかが膨大すぎて覚えるのが大変。
オブジェクト指向は過去に経験しててよかったとオモタ
クラシックなaspの仕組みしってるとasp.netの裏側も見えるので損ではないとオモタ
0599nobodyさん2007/04/23(月) 22:52:53ID:SAH2Jxj+
だが逆にHTMLを自前で吐くようなperlとかつかってたころには
あっさりとできたものが、ASP.NETではできないとか
やりかたが複雑とかわかんないとかいうのがあって
むかつくこともないわけではない
0600nobodyさん2007/04/23(月) 23:15:20ID:???
ないと思うが。
0601nobodyさん2007/04/23(月) 23:34:14ID:Qv1rWHCm
ASP.NET2003での質問
複数の画面を同時に出すフレームワークについて。

あるフレームワーク処理関連を全てコピーして、
別のフレームワークを作ったら、両方とフレームワークが効かなくなってしまった。
原因が全くわからない。
一番、多い原因は何ですか?
リンク・コード内の名前直しは間違ってません。
0602nobodyさん2007/04/23(月) 23:41:44ID:???
いい加減意味不明な言葉を直せよw
0603nobodyさん2007/04/23(月) 23:44:13ID:Qv1rWHCm
すまない。
つまるところ、フレームワークをコピペして、
一つのプロジェクトの二個のフレームワークが出来ました。
そしたら、二つとも画面の合成が効かなくなってしまった。
エスパー希望
0604nobodyさん2007/04/24(火) 00:12:07ID:???
言ってることがわかんね。
0605エスパー2007/04/24(火) 01:24:00ID:???
ふむ見えた。
この問題を解決できるエスパーは現れないみたい。

残念ですた。
0606nobodyさん2007/04/24(火) 12:30:12ID:???
>>601
意味不明だが、なんかが重複定義されてるんじゃね?
0607nobodyさん2007/04/24(火) 16:19:21ID:???
あるフレームワーク処理関連を全てコピーして、
別のフレームワークを作ったことが原因では?
これが一番多い原因だと思う。
0608nobodyさん2007/04/24(火) 19:00:49ID:???
単品フレームワークでの動作は完璧?
だったらもう一度ソースの中の名前をスミズミまで見てみれ
意外な所に自動生成された名前があったり必要な宣言がされてなかったり…
0609nobodyさん2007/04/24(火) 19:03:45ID:???
だいたいフレームワークってなによ?
0610nobodyさん2007/04/24(火) 22:43:33ID:???
ざんねんながら単なるフレームのことなんだなこれがw
0611nobodyさん2007/04/24(火) 23:06:20ID:???
単なるフレームかよ。シネヨ。
ディレクトリが違うから絶対パスで記述しても、そんなファイルねーだけだろ。
わざわざasp.netスレで聞くんじゃねー
0612nobodyさん2007/04/25(水) 00:27:48ID:???
フレームワークってaspxのことかな・・・と思ったが違うのか。
よくaspxをコピペするときにRegisterブロックあたりまでコピペしてしまって
コンパイルエラーの原因がわからず泣いてる奴がいるよな。
0613nobodyさん2007/04/29(日) 15:25:29ID:???
開発環境からページの実行をしたときに使うWebブラウザはどこで指定できるんでしょうか?
標準のブラウザを火狐等にしても、IEが立ち上がってきてしまいます。
オプション等を全部見たのですが、環境のところにWebブラウザという項目があったものの、
それらしいところが見つけられませんでした。
0614nobodyさん2007/04/29(日) 16:31:14ID:???
ソリューションエクスプローラで.aspxファイルを右クリして出てくるメニューに
デフォで"Webページの実行"みたいな名前の項目のすぐ下に
Webブラウザを選択して表示みたいな項目があってそこで
ブラウザの変更はできた。
項目の正式名称は忘れたw
0615nobodyさん2007/04/29(日) 22:38:45ID:???
データをDBから読み込んで、DataGridで表示しています。
ソートせずに、そのまま更新ボタンおせば該当行が更新モードになります。
しかし、ソートした後に更新ボタンを押すとソート前の行が編集モードに
なってしまいます。いろんなサンプル見ましたが、このことにふれたソース
がなく、悩んでいます。どなたかご存知でしたら教えてください。
0616nobodyさん2007/04/30(月) 02:26:32ID:???
書き方悪いので訂正します。
データをDBから読み込んで、DataGridで表示しています。
ソートせずに編集ボタンおせば該当行が編集モードになります。
しかし、ソートした後に編集ボタンを押すとソート前の行が編集モードに
なってしまいます。いろんなサンプル見ましたが、このことにふれたソース
がなく、悩んでいます。どなたかご存知でしたら教えてください。
0617nobodyさん2007/05/01(火) 06:32:36ID:???
>>614
サンクスです。
休み明けにやってみます。
0618nobodyさん2007/05/01(火) 20:11:30ID:???
>616
自己レス。
解決しましたのでこの質問はなし。

0619nobodyさん2007/05/04(金) 14:59:15ID:Fic8rDCB
2003 SERVER+ADSLですが先日無線ルーター(現在はLANで接続)を入れたら「localhost」ではサーバーを立てているPCから接続できなくなりました。
LAN内の別PCや自宅PCからは普通に接続できます。
そしてなぜかASP.NET自体タイムアウトで接続できない状態です。
再起動するもダメです。
何か設定が必要なのでしょぅか?
0620nobodyさん2007/05/04(金) 19:59:17ID:???
>2003 SERVER+ADSLですが先日無線ルーター(現在はLANで接続)を入れたら
どんなネットワーク構成図?
どんなネットワークではうまくいっていて、そのネットワークの何をどうしたの?

>現在はLANで接続
現在はって、昔はWAN接続?

>「localhost」ではサーバーを立てているPCから接続できなくなりました。
localhostで、何から何に接続できないの?

>LAN内の別PCや自宅PCからは普通に接続できます。
サーバと同一LAN内の別PCや自宅PCでlocalhostで接続したの?

>そしてなぜかASP.NET自体タイムアウトで接続できない状態です。
どこから接続してタイムアウトになるの?
「なぜか」だと思う理由は?
サーバのIPアドレス直入力では接続可能?
127.0.0.1ではどう?
0621nobodyさん2007/05/07(月) 00:54:06ID:???
Cookielessモードについての質問。
AutoDetectに設定すると検索ロボットからのアクセスでログが荒れる
のだけれども、UseDeviceProfileだと設定を作っていくのが面倒。
しかもプロファイルを設定してないUAでくると……

UserAgentに「Yahoo」とか「Google」の文字があったら無条件で
非Cookielessセッションに切り替える方法ってない?

現在はUseDeviceProfileを使用してMozillaを継承したbrowserファイル
でなんとか制御中。Defaultを直接継承して「yahoo」にマッチするように
設定してみたんだけど、なぜかMozillaのほうが優先されてしまう。
0622nobodyさん2007/05/07(月) 22:11:59ID:28dJTdJ9
>>600
本当にないと思ってるのか
直接Writeしないとできないことはまだ多い
0623nobodyさん2007/05/07(月) 22:15:22ID:???
直接Writeしたら少なくとも同じことはできるだろっつってんだよ。
0624nobodyさん2007/05/08(火) 02:35:36ID:???
DBからデータ読み込んで、動的にグラフを作成して表示するって可能なんでしょうか?
普通のFormならpictureboxを使用して描画できると思いますが、ASP.NETではどのような手法がありますか?
0625nobodyさん2007/05/08(火) 09:21:32ID:???
>>624
System.Drawingを使うのだよ。
サンプルは腐るほどころがっている
0626nobodyさん2007/05/08(火) 10:04:00ID:???
POSTされたXMLデータはどうやって取得するのですか?

たとえば、blogにあるwebPingを受け付けるサービスを作りたい場合、
blogからpostされたxml形式のwebPingの内容を取得する方法を教えてください。

0627nobodyさん2007/05/08(火) 11:04:40ID:???
http://pietschsoft.com/blog/post.aspx?postid=762
で、正規表現を使ったURL書き換えが紹介されていたので早速実装してみました。

書き換え規則はこんな感じです。
<add url="~/users/(.*)\.aspx" mappedUrl="~/users.aspx?u=$1"/>

URLの書き換えはうまくいったのですが、そのファイルの中に
<script type="text/javascript" src="js/swfobject.js"></script>
<link rel="stylesheet" type="text/css" href="css/RootStyle.css" />
などの外部ファイル参照があるのですがこれらがことごとく失敗します。

開発中の環境とURLが違うためにURL指定することはなるべく避けたいわけです。
そこでsrc="/js/swfobject.js"のようにルートからの絶対パスで書いたのですが
これもうまく解釈されません。

なにか上手い方法をご存知ありませんか?
06286242007/05/08(火) 11:31:36ID:???
自由に描画した画像を出力する場合に、
bitmap.Save(Response.OutputStream, ImageFormat.Jpeg);
とすると、新しいページに画像だけが表示されますが、
特定のImageコントロールに表示するには、やはり画像
ファイルを一時保存して、ImageUrlを指定しなければならないでしょうか?
0629nobodyさん2007/05/08(火) 12:15:21ID:???
>>626
xmlっても普通にstringのpostだからRequest.Formで取得できるのでは?

>>627
それじゃ、そのaspxのあるディレクトリ配下指定だよ。
HttpServerUtility.MapPathのServer.Mappthを使うと幸せになれるかも。
0630nobodyさん2007/05/08(火) 12:25:43ID:???
>>628
昔、classicなaspでやってたときは、確か、たとえば
bitmap.aspで、Response.BinaryWriteでbitmapを出力するだけのaspを作って、
<img src="bitmap.asp">とかってよくやっていたものだが、

同様にして、BitmapButtonのImageUrl="bitmap.aspx"すればだめかな?
0631nobodyさん2007/05/08(火) 13:09:10ID:???
>>630のはASP.netでもその方法は使える。

Bitmap出力するだけならashx使っても良いし、
またはdefault.aspx?mode=bitmapみたいな
urlをImageUrlに使ってクエリ文字列"mode"が"bitmap"
の時は画像を出力するというふうにしてもいいと思う。

データの受け渡しはSession変数使うのがいちばん簡単かな。
0632nobodyさん2007/05/08(火) 13:24:41ID:???
補足。
データの受け渡しってのはbitmapのことじゃない。
ページのクラスのフィールドに文字列を保存しても次のリクエスト時には消える
から、何か画像の生成に必要な一時データがあるならの話ね。
0633nobodyさん2007/05/08(火) 13:29:02ID:???
>>629
stringのpostだけど、Formの名前?がわからない。
ttp://www.nurs.or.jp/~sug/homep/rss/rss5.htm

FormのTextをSubmitするのではなく、こんな感じで送られてくるので。
0634nobodyさん2007/05/08(火) 13:41:15ID:???
>>632
DataBaseのPrimayKeyとかを渡して、そのIDの画像を表示するとかのことね。
ただSessionが消えることを考えると、文字としてaspxに埋め込まれるGETの方が
ブラウザのキャッシュに残ったときや、戻る進むで遷移したときに対処しやすい。

そもそもSessionでデータを引き渡すだけでいいなら、aspx?mode=bitmapも必要ないし。

>>633
そのaspxに対してstringなデータとしてpostされてくることは確かなわけ?

であれば、Request.FormはRequest.Form[i]のようにindexで取得できるのでキー名は不要。
もし知りたいならRequest.Form.AllKeysですべてのキー名が取得できるが、試してみた?
まずはmsdnを嫁。
0635nobodyさん2007/05/08(火) 13:50:10ID:???
>>629
そのようですね。
/を最初につけるとルートからの指定ってのがあったと思ったんですけど。
./と同じ解釈になってしまうのってなんか釈然としません。
まーDosやうにくすとは違うってことでしょう。

>HttpServerUtility.MapPathのServer.Mappthを使うと幸せになれるかも。
物理アドレスがソースに含まれてしまうみたいですね。
これは怖いです。

RequestからUrlのベースをパースするとかめんどくさいことやればなんとか
なりそうですが、書き換えルールにディレクトリを含めるのをやめるのが
一番簡単かもしれないですね。

<add url="~/users_(.*)\.aspx" mappedUrl="~/users.aspx?u=$1"/>
0636nobodyさん2007/05/08(火) 13:56:01ID:???
>>635
いやだから、物理アドレスから、IISでいうところのwwwrootまでを削れば、
IISのルートフォルダを起点とした絶対パスが取得できるのでは?
(デフォルトのIISのインスト環境)

それがいやなら、完全に手動で
../../../js/swfobject.js
のようにルートまで/../../を使ってもどって指定してやればいい。

↓参考
http://www.ipa.go.jp/security/awareness/vendor/programming/a05_02_main.html
0637nobodyさん2007/05/08(火) 14:08:39ID:???
>>634
>そのaspxに対してstringなデータとしてpostされてくることは確かなわけ?
確かなわけです。 というか、webPingの仕様がそういうものだから。
Request.Form.AllKeysは気付かなかったけれど、
Request.ContentTypeが"text/xml"であることを確認してRequest.InputStreamで全部ぶっこぬいたらうまくいきました。

たぶん。
0638nobodyさん2007/05/08(火) 14:32:11ID:???
>>636
ああ、なるほど。
IISのルートフォルダを起点とした絶対パスは
どちらも同じなんですよ。
そのルートフォルダを起点とした絶対パスを
うまく指定する方法がなくて困ってるわけです。

開発環境
localhost/js/…
localhost/css/…
公開AP
www.app.net/js/…
www.app.net/css/…

アプリケーションファイルがルートにある間は"js/…"でいいわけですが、
localhost/app.aspx?user="username"
URL書き換えによってアプリケーションファイルのフォルダが
localhost/user/username.aspx
に偽装されてしまったため、相対指定で対処きなくなったんです。

パラメータが動的に増えて階層が動的に変化する場合もあるわけで
せっかくURLの書き換え規則が正規表現で書けるようになったので
それをフルに使いたいと思ったんです。

ひょっとして"/js"などのルートからの絶対指定ができないのは、
ASP.NET開発サーバだけですか?
IISならできるとか?
0639nobodyさん2007/05/08(火) 14:51:08ID:???
>>638
そうか、その絶対パスでみれないからだめなのかorz

すまなかった。お詫びにこんなもの探してきた↓
VirtualPathUtility.MakeRelative("/design/css/main.css", "/images");
0640nobodyさん2007/05/08(火) 15:00:37ID:???
他にはここが詳しいな。
http://msdn2.microsoft.com/ja-jp/library/ms178116(VS.80).aspx
0641nobodyさん2007/05/08(火) 16:11:39ID:???
>>639>>640
そうそう。そうなんです。
これからじっくりと試してここに報告に来ますね。

まだ解決できたわけではないけれど、おかげで十分幸せになれました。
ほんとにうれしかったです。ありがとう。
■ このスレッドは過去ログ倉庫に格納されています