Kobarin's Development Blog

C#やASP.NETなどについての記録です。

ASP.NET

HTTP Error 500.19 - error code:0x8007000d の解決方法

前回記事と同様、WindowsPCでIIS7.5を初起動させようとして起こる、よくあるらしい現象。 StackOverFlowの書き込みによれば、前回同様、基本的にWeb Platform Installerに起因する現象のようです。 エラーメッセージにはApplicationHost.configが原因みたい…

IIS7.0で.net framework4.0で動作させる

BugTrackerを導入しましたが、.net framework 4.0で動作するようでした。 これまで全て2.0ベースで開発してきたため、4.0は初めてでしたが、VSの開始オプションを「4.0」にすれば良いだけだと軽く考えていました。が、実際にはIIS側の設定が必要でした。症状…

ASP.NETで、Google Calendarの情報を表示

ASP.NET上でGoogle Calendarのデータを呼び出し、GridViewに表示するまでの処理を示します。 1.Google Data APIの.NET libraryをダウンロードしてインストール 以下サイトから最新の「Google_Data_API_Setup_xxx.msi」をダウンロードします(当方の時点では…

ASP.NETで、DateTimeの値をRFC822に変換

Repeaterコントロール内で変換した例です。これだけです。 ソースはここ。 How do I parse and convert DateTime’s to the RFC 822 date-time format?プログラム内で変換する場合は、 string rfc822 = myDate.ToString("r");

Microsoft Chartコントロールで「ChartImg.axd の子の要求を実行中にエラーが発生しました」のエラーに対する対策

ASP.NETでMS Chartコントロールを使用して実行しようとした際、以下の様なエラーに遭遇する事があります。2種類まとめて書いてしまいます。 ChartImg.axd の子の要求を実行中にエラーが発生しました。 説明: 現在の Web 要求を実行中に、ハンドルされていな…

ObjectDataSourceからクラスを呼び出してバインドする

Repeater等のデータリスト系コントロールから、データソースとしてObjectDataSource(以降ODS)を指定した際にクラスを呼び出す方法です。 私個人のやり方ですが、SQL文の定義を1つに集約するため、最近はSqlDataSourceやODSを個別に定義せず、クラスをObjec…

タスクマネージャーをGoogleリーダーで代替

「Googleリーダーを利用してスケジューラーにしてしまおう」という記事です。 当方の環境では、タスクマネージャーで定期的(月次、週次、日次、毎時)にスケジュールさせているコンソールアプリケーションがありますが、やり方が悪いのか、未だに結構トラブ…

URLScanのグローバルフィルターとサイトフィルター

目的 SQLインジェクション攻撃など、URLやHTTPヘッダーに不正なデータを紛らせる事による侵入や不正なアクセスに対する防衛手段の1つです。 公式サイト URLScanの設定 (ダウンロードもページ内から参照しています) 前提条件 まず前提プラットフォームが以…

ユーザーコントロールに親ページからパラメータを与えても、先にPage_Loadイベントが呼び出されてしまう対策

まず一例として(コードは至るところでカットしてます)。 以下の例では、parent.aspx のRepeaterのアイテム内から、ユーザーコントロールuc.ascxを呼び出しています。 Repeaterの各アイテムには色名を指定すると、uc.ascxで「色は○○です。」と表示する、意…

ASP.NETで、YahooローカルサーチのデータをGridViewに表示してみる

Yahooさんのローカルサーチは電話帳データ等から施設情報を抽出できる、かなり便利なAPIなのですが、ASP.NETから呼び出す例としてはあまり参考になるサイトがなかったので、ここに書いてしまいます。 仕様 電話帳データより「コンビニ」情報を取得し、GridVi…

Ajax ToolkitのTabContainerの出力コード

<div id="TabContainer1" class="mycss" style="visibility:hidden;"> <div id="TabContainer1_header"> <span id="TabContainer1_tab1_tab"> <span class="ajax__tab_outer"> <span class="ajax__tab_inner"> <span class="ajax__tab_tab" id="__tab_TabContainer1_tab1">Tab1</span> </span> </span> </span> </div></div>

ASP.NETフォームでデータ入力する際に、ヤバそうな文字を排除する正規表現

Textboxに何の検証も無しに文字列を受け付けると様々なトラブルを引き起こします。 検証コントロールの1つ、RegularExpressionValidator を使って「とりあえずこれだけは」やっておくと安心という正規表現を書きます。 ValidationExpressionに入れる文字列で…

ASP.NETでダウンロードダイアログを表示してダウンロードさせる

ブラウザ内に直接HTMLやXMLを表示するのではなく、意図的にダウンロードさせる場合、以下のコードにより可能。 protected void Page_Load(object sender, EventArgs e) { Response.AppendHeader("Content-Disposition", "attachment; filename=myfile.xml");…

DataBind系コントロール(Repeater、ListView等)中でServer.UrlEncodeする

<asp:Repeater ID="rp1" runat="server"> <ItemTemplate> <li><a href="page.aspx?name=<%# Server.UrlEncode( Eval("name").ToString() ) %>"><%# Eval("name") %></a></li> </ItemTemplate> </asp:Repeater>

System.Diagnostics.Trace.WriteLineでトレース内容が表示されない場合

Web.configのsystemタグ内に以下を書き加える。 <system.diagnostics> <trace> <listeners> <add name="WebPageTraceListener" type="System.Web.WebPageTraceListener, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/> </listeners> </trace> </system.diagnostics> System.Diagnostics.Debug.Wri…

ASP.NETでCSV出力

protected void Page_Load(object sender, EventArgs e) { System.Text.Encoding encoding = System.Text.Encoding.GetEncoding("Shift-JIS"); Response.AddHeader("Content-Disposition", "attachment;filename=date.csv"); //ファイル名 Response.ContentT…

aspxファイル内の「~」で始まるアドレスを、クライアントで処理できるようにアドレスに変換する

「ResolveUrl(string url)」を使う事で可能。 ” rel="StyleSheet" type="text/css" /> ">HOME

ASP.NETで、サーバー上のファイルに読み書きする方法

例えば、「D:\Inetpub\tmp\users.txt」を読み書きする場合、以下のようなアクセス権限設定が必要。 権限 ユーザー アクセス権 読み込み IUSR 読み取りと実行、ファイルの内容の一覧表示、読み取り 書き込み IIS_IUSRS 読み取りと実行、ファイルの内容の一覧…

ASP.NET(C#)でTwitter OAuth(日本語対応)

OAuthとC#でマルチバイト文字を扱う http://d.hatena.ne.jp/nyanp/20100504/p1要は、OAuthBase 内に以下のコードを追加して、 protected string UrlEncode(string value, Encoding encode) { StringBuilder result = new StringBuilder(); byte[] data = enc…

ASP.NETでTwitterのOauthを使う

1. まずTwitterアプリケーションを登録 http://twitter.com/apps2. 「consumer key」と「consumer secret」を取得3. ASP.NETサイトを開く4. web.configを開き、<appSettings>に以下のように記述。「・・・」には、それぞれのキーを記入。 5. 以下ページに…

ASP.NETのプリコンパイル(により、コードを隠蔽)

コマンドプロンプトで以下のように実行すると、プリコンパイルできる。 cd %SystemRoot%\Microsoft.NET\Framework\v2.0.50727 aspnet_compiler -v PreCompile -p D:\Inetpub\wwwroot\PreCompile d:\PreCompile 解説 D:\Inetpub\wwwroot\PreCompile ASP.NET…

MS Chartをコーディングで作成

SqlDataSourceやDataTableが常に固定的であれば、前回のようにChartとデータコントロールをバインドすればよいが、 通常の業務システムであればコーディング無しで済む事は少ないだろう。 例えば、SQLのフィールド名が毎回変わるケースであったり、DataTable…

MS Chartコントロールで分かった事

ASP.NETのMS Chartコントロールは便利ですが、情報が少ない事とエラーメッセージが意味不明なのが難点です。 という事で、忘れないうちに備忘録をつけます。以下は、X軸にに日付、Y軸に売上げを示したサンプルです。 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 1…

Evalの値を切り替える

簡易版(元の値が数値限定) ' /> ・・・ ' /> コロンの後にセミコロン区切りで3つ書式を指定できる。 順番は、正数・負数・ゼロ。 以上をRepeater等に記述すると、"Field"の値によって表示を切り替えられる。 -50 ・・・ マイナスだよ 0 ・・・ ゼロだよ 25 ・・・ …

WebClientのDownloadStringは、エンコーディング必須

WebClient client = new WebClient(); string rssFeed = client.DownloadString("http://rss.rssad.jp/rss/itmtop/1.0/topstory.xml"); このように実行すると、RSSのXMLを読み込む事が出来るが、DownloadStringメソッドは標準でANSIで読み出すらしく、ほとん…

階層的なXMLをRepeaterで出力 〜其の2〜

order.aspx <%@ Page Language="C#" AutoEventWireup="true" CodeFile="order.aspx.cs" Inherits="order" %> <html> <head id="Head1" runat="server"> <title>Order</title> </head> <body> …</body></html>

階層的なXMLをRepeaterで出力 〜其の1〜

repeater.aspx <%@ Page Language="C#" AutoEventWireup="true" CodeFile="publishers01.aspx.cs" Inherits="api_other_publishers" %> <html xmlns="http://www.w3.org/1999/xhtml"> </html>

じゃらんAPIを使って、特定ホテルの空室を調べる(部屋情報を出力)

かなり手抜きだけど、ひとまずメモということで。後日修正版を書き直す。 protected void btnSearch_Click(object sender, EventArgs e) { const string strUrlFormat = "http://jws.jalan.net/APIAdvance/StockSearch/V1/?key={0}&h_id={1}&stay_date={2:yy…

SqlDataSourceで、手動でParameterを追加する方法

SqlCommandと同じようにコードを書いたらParameterが通っていなかった件。 「@」の要不要が違うらしい。以下、違いを書いておく。 SqlCommandの例 Command1.Parameters.Add("@param1", SqlDbType.NVarChar).Value = "ABCDEF"; SqlDataSourceの例 SqlDataSou…

SqlDataSourceを実行時に、該当件数を取得

データバインド時に該当件数を取得するケースがある。 GridViewのRows.Countを使っても、現在表示中の行数しか取得できないため、ページング等をしていると全体の件数は取得できない。 以下のようにコーディングする事で、SqlDataSourceのSelect実行時に全件…