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

サーバーコントロール ASP.netにはTextBoxやButtonなど、WPFやSilverlightなどで使われるXAMLコントロールと共通の多くのコントロールを使うことができます。 基本的にはWPFやSilverlightと同じようにコントロールをドラッグアンドドロップで配置して、イベントハンドラを取得してコードビハインドにロジックを追加するという形になります。   サーバーコントロールを配置する デフォルトのままではHTMLコードのみの表示なのでデザイナーを表示させましょう。 aspxファイルを開いている状態で下の方にある[並べて表示]を押します。 これでデザイナーが表示されるので[ツールボックス]からコントロールをデザイナーにドラッグアンドドロップしましょう。       今回はTextBox2つとLabelとButtonを1つずつ配置します。   プロパティはプロパティウインドウから変更しましょう。 以下の4つのコントロールを配置しましょう。 コントロール Id Text TextBox TextBox_Value1 TextBox TextBox_Value2 Label Label_Result Button Button_Calc 計算   ソースコードはこのようになります。 <!–bodyタグだけ抜粋–> <body> <form id=”form1″ runat=”server”> <div> <asp:Label ID=”Label1″ runat=”server” Text=”値1″></asp:Label> <asp:TextBox ID=”TextBox_Value1″ runat=”server”></asp:TextBox> <asp:Label ID=”Label2″ runat=”server” Text=”値2″></asp:Label> <asp:TextBox ID=”TextBox_Value2″ runat=”server”></asp:TextBox> </div> <p> <asp:Label ID=”Label_Result” runat=”server” Text=”Label”></asp:Label>…

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

プロジェクトの新規作成   ASP.net WebFormでの新しいプロジェクトの作り方は VisualStudioからファイル→新規作成→プロジェクト   新規作成ダイアログがでるので、ASP.net空のアプリケーションを作りましょう。   新規ページの追加 新しいプロジェクトができたら、ソリューションエクスプローラーからプロジェクト名を右クリック→追加→新しい項目 をクリックします。   WebFormを選択し、ファイル名をDefault.aspxにして、OKを押します。   新しくページを作成することができました。   ここでHello,Worldを表示してみます。 divタグ内にHello,Worldと書きます。 <%@ Page Language=”C#” AutoEventWireup=”true” CodeBehind=”Default.aspx.cs” Inherits=”WebApplication3.Default” %> <!DOCTYPE html> <html xmlns=”http://www.w3.org/1999/xhtml”> <head runat=”server”> <meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″/> <title></title> </head> <body> <form id=”form1″ runat=”server”> <div> Hello,World! </div> </form> </body> </html>   できたら、VisualStudioのツールバーにある緑色の再生ボタンのようなボタンでデバッグを開始します。

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

最上位プロパティ ファイルの名前や拡張子などは最上位プロパティとしてStorageFileクラスのプロパティに用意されています。 FileOpenPicker picker = new FileOpenPicker(); picker.FileTypeFilter.Add(“.png”); StorageFile file=await picker.PickSingleFileAsync(); Debug.WriteLine(“Name={0}”,file.Name); Debug.WriteLine(“DisplayName={0}”, file.DisplayName); Debug.WriteLine(“DataCreated={0}”, file.DateCreated.ToString()); Debug.WriteLine(“FileType={0}”, file.FileType); Debug.WriteLine(“IsAvailable={0}”, file.IsAvailable); Debug.WriteLine(“Path={0}”, file.Path); Debug.WriteLine(“Attributes={0}”, file.Attributes); Debug.WriteLine(“ContentType={0}”, file.ContentType); Debug.WriteLine(“DisplayType={0}”, file.DisplayType); 基本プロパティ 基本プロパティはStorageFileのGetBasicPropertiesAsyncで取得することができます。 BasicProperties bProp=await file.GetBasicPropertiesAsync(); Debug.WriteLine(“Size={0}”,bProp.Size); Debug.WriteLine(“ItemSate={0}”, bProp.ItemDate.ToString()); Debug.WriteLine(“DateModified={0}”,bProp.DateModified.ToString()); 拡張プロパティ その他付属しているプロパティは拡張プロパティとして名前を指定することでDictionaryとして帰ってきます。 今回は、System.DataAccessedとSystem.FileOwnerの2つのプロパティを取得します。 BasicProperties bProp=await file.GetBasicPropertiesAsync(); IDictionary<string, object> rProp = await bProp.RetrievePropertiesAsync(new List<string> { “System.DateAccessed”,”System.FileOwner” }); foreach (var…

byteデータを書き込むには

FileIOを使う場合 FileIOを使う場合、1行でbyteデータを書き込むことができます。 FileIOのWriteBytesAsyncをつかうことによって、StorageFileとbyteデータを引数にいれてデータを保存できます。 StorageFileはFileSavePickerなどをつかって取得しましょう。 //byte[] buff;←byteデータ await FileIO.WriteBytesAsync(file,buff);   RandomAccessStreamを使う場合 StorageFileのOpenAsyncでRandomAccessStreamを取得し、 DataWriterで書き込みます。 //byte[] buff;←byteデータ using (IRandomAccessStream stream = await file.OpenAsync(FileAccessMode.ReadWrite)) { using(DataWriter writer = new DataWriter(stream)){ writer.WriteBytes(buff); await writer.StoreAsync(); await stream.FlushAsync(); } }  

byteデータを読み込むには

FileIOを使う場合 FileIOのReadBufferAsyncでバッファーを取得できます。 そのバッファーをDataReaderで読み込みます。 StorageFileはFileOpenPickerなどで取得してください。 //StorageFileからバッファーを読み込む IBuffer buffer=await FileIO.ReadBufferAsync(file); //バッファーのサイズだけbyteを確保する byte[] buff2 = new byte[buffer.Length]; //DataReaderで読み込む DataReader r=DataReader.FromBuffer(buffer); r.ReadBytes(buff2);   RandomAccessStreamを使う場合 StorageFileのOpenAsyncメソッドでストリームを取得できます。 DataReaderのLoadAsyncでストリームからバッファーに読みこむことができるので ReadBytesでデータを読み込みます。 //StorageFileからRandomAccessStreamを読み込む using (IRandomAccessStream stream = await file.OpenAsync(FileAccessMode.Read)) { using(DataReader reader = new DataReader(stream)){ //入力ストリームから指定サイズをバッファーに読み込む await reader.LoadAsync((uint)stream.Size); buff = new byte[stream.Size]; //ストリームからバイト配列を読み込む reader.ReadBytes(buff); } }