ASP.NET
.NET3.5のASP.NETアプリを.NET4.6にアップグレードした。
6/7に「わんくま同盟 東京勉強会 #90」に行ってきました。途中で帰らなければならなかったので、全部のセッションは聞けなかったのですが、2回に分けて勉強会の内容を紹介します。 わんくま同盟先月はゴールデンウィークいかがでしたか? 今回はスピーカー…
5/17に、「第一回 knockoutjsハンズオン」に行ってきたので、6回に分けて勉強会の内容を紹介します。 初心者向けJavaScript入門からテラ・コーティングまで!JavaScriptフレームワークの主流、MVVMアーキテクチャパターンを採用しているknockoutjsを堪能す…
どういうこと? Web.configの先頭に改行があると、500内部サーバーエラーが発生します。 XMLの仕様で、先頭の改行を許可していないからです。 最初の行はXML宣言です。使用するXMLバージョン(1.0)と エンコーディング(ISO-8859-1 = Latin-1/West European …
ASP.NETで、Postback時にチェックボックスの状態を変更しようとすると「'length' は Null またはオブジェクトではありません。」というエラーが発生しました。(チェックボックスがかなり多い画面です) 原因がわかったので、トラブルシュートの経緯を書き残…
イベントハンドラはprotectedにしないとマークアップのクラスからは参照できません。 ButttonコントロールのClickイベントを例として説明します。 どういうこと? ビハインドコードにイベントハンドラ(Button_Click)を作成し、アクセス修飾子をprivateまた…
Evalの戻り値をビハインドコードのメソッドの引数にしたいことがあります。 例えば、以下のようなメソッドをマークアップから呼び出す場合です。 /// <summary> /// コードから表示文字列を取得します。 /// </summary> /// <param name="value">コード。</param> /// <returns>変換された文字列。</returns> protected string C…
こんなバグがありました。 protected new void Page_Load(object sender, EventArgs e) { try { /* * HttpResponse.TransmitFileでファイルの内容を応答に書き込む処理 */ Response.End(); } catch (Exception){ Response.Clear(); Response.StatusCode = 50…
セッション状態値の存在チェックを拡張メソッドで実装します。 ソースコード using System; using System.Web.SessionState; namespace Extensions { public static class SystemWebSessionStateExtensions { /// <summary> /// 指定されたセッション状態値が存在する</summary>…
Repeaterコントロール内に配置したコントロールのイベントをハンドリングする際の注意点です。 ここでは例としてRepeaterコントロール内部にButtonを配置しています。 ソースコード aspx <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default…
どういうこと? 縦に長いページの場合、ポストバック後のスクロール位置の保持が有効です。 どうして? ポストバック後に、再度スクロールを強いるのはユーザーフレンドリーではありません。 どうすれば? Pageディレクティブで「MaintainScrollPositionOnPo…
どういうこと? ASP.NETでAjaxを使ったアプリを開発していたら、突然エラーが発生するようになった。 "ASP.NET Ajax クライアント側フレームワークを読み込めませんでした。" "'Sys'は宣言されていません。" どうして? エラーメッセージから、Ajax Library…
どういうこと? ASP.NETではチルダでアプリケーションルートを表すことができます。これはあくまでもASP.NETの仕様なので、 <img src="~Hoge/Fuga/image.jpg" /> こんな風に書いても画像を参照できません。 どうすれば? System.Web.VirtualPathUtility.ToAbsolute メソッドで、チルダで始まる…
MSDNフォーラムに質問を投稿しました。 ExcelファイルをHTMLファイルに変換できるライブラリを探しています 情報をお持ちの方、回答よろしくお願いします。
セッション値の存在確認メソッドを拡張メソッドで定義します。 どうして? 毎回nullチェックをすると煩雑なコードになる。 セッション値が存在しないときはnullを返すという仕様を記憶していなければならない。 拡張メソッドを使えば糖衣構文を用意すること…
拡張メソッドでRepeaterコントロールのRepeaterItemを型指定されたDataRowに変換します。 どういうこと? 型指定されたDataTableをRepeaterコントロールのDataSourceにバインドする場合、RepeaterItemを型指定されたDataRowに変換する拡張メソッドを定義する…
以下のエントリーを改良してみます。 Session値を取得と同時に削除するメソッドを拡張メソッドで実装する - プログラマーな日々Session値を一時的なデーター渡しに使う場合、値を取得直後に削除したい場合があります。でもSystem.Web.SessionState.HttpSessi…
どういうこと? Session値を一時的なデーター渡しに使う場合、値を取得直後に削除したい場合があります。でもSystem.Web.SessionState.HttpSessionStateクラスにはそのようなメソッドは用意されていません。そこで拡張メソッドを使い実装してみます。 どうす…
どういうこと? RequiredFieldValidatorを使うと、初期値から変更されていない場合を入力エラーとして検出できます。 どうすれば? InitialValue プロパティに初期値を設定しておきます。デフォルト値はString.Emptyです。RequiredFieldValidatorは入力値と…
ビハインドコードのメソッドは、protectedにしないとaspxのサーバーサイドロジックからは参照できません。 どういうこと? ビハインドコードにメソッドを作成し、アクセス修飾子をprivateまたはinternalにします。 aspxのに作成したメソッドを参照するコード…
ObjectDataSourceにはDataTableを双方向でデータバインドできません。 どういうこと? 以下のサンプルで説明します。 Default.aspx <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication3._Default" %>
internalなビジネスオブジェクトをObjectDataSourceは認識できません。 どういうこと? 以下のようなinternalなクラスを宣言し、ビルドします。 namespace WebApplication1 { internal class Biz { public void Hoge() { } } } 次に、ObjectDataSourceを配置…
ObjectDataSourceの[データソースの構成]ウィザードは、デフォルトではTableAdapterしかコンボボックスに表示されません。 他のビジネスオブジェクトを選択したい場合は、[データコンポーネントのみを表示]のチェックボックスを外すとコンボボックスに表示さ…
DataSourceをバインドしたGridViewでコードを文言で表示する方法を紹介します。ここでは、hogeが1のときを"Foo"、2のときを"Bar"で表示するものとして説明します。 ソースコード aspx aspxのソースコードにテンプレートフィールドを記述します。 <asp:TemplateField HeaderText="ほげ"> <ItemTemplate> </itemtemplate></asp:templatefield>
ObjectDataSourceではまりました。 環境 Visual Studio 2008 SP1, .NET Framework 3.5 問題 オブジェクトをObjectDataSourceにバインドさせたら、以下の例外が発生しました。 ObjectDataSource 'ObjectDataSource1' の DataObjectTypeName プロパティによっ…
「ASP.NET Webアプリケーション」プロジェクトであれば、Windowsアプリケーションと同じ要領でインストーラーが作成できます。(「Webサイト」の場合は未確認です)検証は、Visual Studio 2008 SP1、.NET Framework 3.5で行いました。(2011/08/25追記) サ…
サンプル 方法 Group cells in ASP.NET GridView (CSASPNETGroupedGridView) in C# for Visual Studio 2010The ASP.NET code sample shows how to group cells in GridView with the same value.
ASP.NET Dynamic Dataは、DBMSのメタデータを読み取り、サイトのソースコードを自動生成する技術です。 何もカスタマイズしない状態でここまで実現できます 複数レコードの一覧表示 1レコードの明細表示 CRUD 列名クリックでのソート ページング 1ページに…
SQL Server以外のDBMSにセッション情報を格納する方法を紹介します。(未検証 です)セッション状態モードASP.NET セッション状態は、セッション データのさまざまなストレージ オプションをサポートします。各オプションは、SessionStateMode 列挙型の値で…
AJAX Control Toolkit の July 2011 Release が公開されています。AJAX Control Toolkit - Download: July 2011 Release 「What's New?」の駄訳 「Ajax Control Toolkit」のこのリリースは、いくつかの重要なバグがFixされ、新しい「HTML Editor Extender Co…