Kobarin's Development Blog

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

ASP.NET

ASP.NETで、System.Web.UI.Pageを継承しない・・・つまり別クラス内でTraceする方法

System.Diagnostics.Trace.Write("category1", "description1");

ユーザーの言語情報を取得

ユーザーの言語情報を取得する場合、以下のように記述する。 配列になっているが、優先順に並んでいるため。 Label1.Text = Request.UserLanguages[0]; 出力例 英語 日本 フランス en ja fr

コントロールのクローンを生成

ASP.NETには、コントロールのクローンを生成するメソッドがない。 以下、ソース。Sourceと同じ型のコントロールを作り出してプロパティを全てコピーするだけだが、 IDの付与のみ状況によって書き換えが必要になるケース有り。 /// /// コントロールのコピー …

ListViewでデータバインドした値を取得

protected void ListView1_ItemDataBound(object sender, ListViewItemEventArgs e) { if (e.Item.ItemType == ListViewItemType.DataItem) { if (DataBinder.Eval(((ListViewDataItem)e.Item).DataItem, "色").ToString() == "ピンク") { Label _lblColor =…

ASP.NETで、linkタグに記述した仮想パスをブラウザで認識できるようにする方法

「VirtualPathUtility.ToAbsolute」で、チルダ付きアドレスを自動変換してくれる。 " rel="Stylesheet" type="text/css" /> 追記:ResolveClientUrlの方が簡単なようです。 " rel="Stylesheet" type="text/css" />

SqlTransactionの基本コード

using (SqlConnection cn = new SqlConnection([接続文字列])) { using (SqlCommand cmd = cn.CreateCommand()) { cn.Open(); SqlTransaction tran = cn.BeginTransaction(); try { cmd.Transaction = tran; cmd.CommandText = @"insert into Table1(Field1)…

VisualStudio2008からSQLへの接続時、「この接続用にデータベース スキーマを接続できませんでした」のエラー対策

SQLserver2008のインストールに失敗したので2005に戻したところ、 VisualStudio2008のSqlDataSourceの設定画面でDBに接続しようとすると、 'Microsoft.SqlServer.Management.Sdk.Sfc, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' …

ASP.NETでau端末の文字入力モードの変更をする方法

http://www.agile-tech.com/blogs/dev/2008/08/aspnetkddi-auistyle.html で有用な情報がされています。 原因: Up.BrowserのVersion6以降では、 HTMLレンダリングにSystem.Web.UI.XhtmlTextWriterが用いられているため、 istyleなどの非正則属性を除去して…

ASP.NETのFormView内で、他のコントロールを参照する方法

<asp:FormView ID="FormView1" runat="server"> <EditItemTemplate> <asp:TextBox ID="TextBox1" runat="server" Text="" /> <a href="#" onclick="javascript:document.forms[0]. <%=((TextBox)FormView1.Row.FindControl("TextBox1")).ClientID %>. value = '初期値';">「初期値」と入力</a> </EditItemTemplate> </asp:FormView>

Webサーバに、OWC(OfficeWebComponents)をインストールする

Office Web Componentsを利用してASP.NETでグラフを作成する - japan.internet.com デベロッパー を参考にしたけど、環境が以下のとおり異なる。 .NET Frameworkバージョン ・・・ 2.0 OWCバージョン ・・・ 11 自身のサーバ環境は.net framework 2.0である…

ASP.NETのWebサイト内でQRコードを表示

まず、実現方法は大きく2つ。 外部のAPIをタダ借りする 自サイト内のクラスライブラリを使用して呼び出す 前者で有名なのがはてなのQRコード生成APIだろう。 IMGタグで http://d.hatena.ne.jp/barcode?str=http://www.yahoo.co.jp/といったように呼…

GridView内にある、LabelコントロールのTextの改行を反映させる

LabelコントロールのText内に改行が含まれていても、htmlとして反映されない。 これは、テキストの改行コード(\n)とhtmlの改行()が違うためというのは常識。 そこで、以下のように、GridView内のLabelのTextに、Replaceをかけてやる事で、改行を反映させ…

PagedDataSourceを使って、SqlDataSourceをRepeaterにバインドする例

PagedDataSourceの存在を今日初めて知った。 確かRepeaterをページングするのは、結構面倒なコーディングが必要だと記憶していたけど、 コントロールが用意されていたとは知らなかった。 PagedDataSource pds = new PagedDataSource(); pds.DataSource = Sql…

FormView等でバインドした値を取り出す方法

例えば、FormViewでバインドした値を、Page.Titleに表示する方法。 「((DataRowView)fv.DataItem).Row["TITLE"])」で取り出すのがポイント。 protected void FormView1_DataBound(object sender, EventArgs e) { using (FormView fv = (FormView)sender) { i…

標準のWeb.sitemap以外のSiteMapファイルを読み込む

目的 Web.sitemapでは、最上層のノードを1つしか指定できない。 通常はHOMEとなるページがあるのでこうした仕様でも問題ないが、 アプリケーション毎にディレクトリを作ってコンテンツを分けている場合などは、これでは都合が悪いと言う事がある。 そこで、…

CalendarExtenderコントロールの表記を、日本語化する

ajaxコントロールを呼び出しているScriptManagerに、以下のように書き加えてやればよい。 EnableScriptGlobalization="true" EnableScriptLocalization="true"

VisualStudio2008で、ajaxコントロールが挿入できない

ASP.NET AJAX Control Toolkit アセンブリの更新アプリケーションに ASP.NET AJAX Control Toolkit のコ の、「既存の AJAX 1.0 Web サイトまたは Web アプリケーション プロジェクトを開くには」を見ていたら、何とかクリアできた。

チルダを利用して、現在のパスを取得する方法

まず、VS2008のポップアップ説明をそのまま引用すると、 アプリケーション ルートの仮想パスを取得し、 ティルダ(~)表記("~/page.aspx"など)を使用した、 アプリケーションの相対パスにします。って何だそりゃ。まぁやってみた方が分かりやすいので実行…

クライアント側のキャッシュに残っている画像を更新させる方法

多くのBBS等でも既出だけど、 クライアント側のキャッシュが原因で、サーバーから読み込む画像が一時的に更新されないという現象がよくある。 特に問題となるのが、FileUploadコントロールを使った場合。 初回アップロード時は、それまで画像がなかったた…