Blog


サーバーコントロールを使う

サーバーコントロール

ASP.netにはTextBoxやButtonなど、WPFやSilverlightなどで使われるXAMLコントロールと共通の多くのコントロールを使うことができます。

基本的にはWPFやSilverlightと同じようにコントロールをドラッグアンドドロップで配置して、イベントハンドラを取得してコードビハインドにロジックを追加するという形になります。

 

サーバーコントロールを配置する

デフォルトのままではHTMLコードのみの表示なのでデザイナーを表示させましょう。

aspxファイルを開いている状態で下の方にある[並べて表示]を押します。

6

これでデザイナーが表示されるので[ツールボックス]からコントロールをデザイナーにドラッグアンドドロップしましょう。

 

7

 

 

今回はTextBox2つとLabelとButtonを1つずつ配置します。

 

プロパティはプロパティウインドウから変更しましょう。

8

以下の4つのコントロールを配置しましょう。

コントロール Id Text
TextBox TextBox_Value1
TextBox TextBox_Value2
Label Label_Result
Button Button_Calc 計算

 

ソースコードはこのようになります。

 

イベントハンドラを登録する

次に、Buttonをクリックした状態でプロパティウインドウから、雷のようなマークをクリックします。

9

 

これでイベントハンドラを登録できるのでClickの右のテキストボックスをダブルクリックします。

10

 

コードビハインドにClick時に呼ばれるメソッドが生成されました。

11

 

Button_Calc_Clickメソッドをこのようにします。

サーバーコントロールはIDプロパティ値によってコードビハインドから参照することができます。

なのでIDがTextBox_Value1なTextBoxにアクセスするには、TextBox_Value1と入力してTextプロパティを取得します。

2つのTextBoxを足した値をLabelのTextプロパティに代入しましょう。

 

サーバーコントロールをつかうことできました。

12




新しくプロジェクトを作る(WebForm)

プロジェクトの新規作成

 

ASP.net WebFormでの新しいプロジェクトの作り方は

VisualStudioからファイル→新規作成→プロジェクト

1

 

新規作成ダイアログがでるので、ASP.net空のアプリケーションを作りましょう。

 

新規ページの追加

新しいプロジェクトができたら、ソリューションエクスプローラーからプロジェクト名を右クリック→追加→新しい項目

をクリックします。

5

 

WebFormを選択し、ファイル名をDefault.aspxにして、OKを押します。

3

 

新しくページを作成することができました。

 

ここでHello,Worldを表示してみます。

divタグ内にHello,Worldと書きます。

 

できたら、VisualStudioのツールバーにある緑色の再生ボタンのようなボタンでデバッグを開始します。

4




ファイルのプロパティを取得するには

最上位プロパティ

ファイルの名前や拡張子などは最上位プロパティとしてStorageFileクラスのプロパティに用意されています。

1

基本プロパティ

基本プロパティはStorageFileのGetBasicPropertiesAsyncで取得することができます。

14

拡張プロパティ

その他付属しているプロパティは拡張プロパティとして名前を指定することでDictionaryとして帰ってきます。

今回は、System.DataAccessedとSystem.FileOwnerの2つのプロパティを取得します。

15




byteデータを書き込むには

FileIOを使う場合

FileIOを使う場合、1行でbyteデータを書き込むことができます。

FileIOのWriteBytesAsyncをつかうことによって、StorageFileとbyteデータを引数にいれてデータを保存できます。

StorageFileはFileSavePickerなどをつかって取得しましょう。

 

RandomAccessStreamを使う場合

StorageFileのOpenAsyncでRandomAccessStreamを取得し、

DataWriterで書き込みます。

 




byteデータを読み込むには

FileIOを使う場合

FileIOのReadBufferAsyncでバッファーを取得できます。

そのバッファーをDataReaderで読み込みます。

StorageFileはFileOpenPickerなどで取得してください。

 

RandomAccessStreamを使う場合

StorageFileのOpenAsyncメソッドでストリームを取得できます。

DataReaderのLoadAsyncでストリームからバッファーに読みこむことができるので

ReadBytesでデータを読み込みます。