バージョン:ASP.NET 3.5
Webサイト形式とWebアプリケーション形式の違いは?
ASP.NETを勉強する際に悩んだところ。
新規に作成する時にどちらかを選べる。
違いは、
Webサイト形式はWebアプリだけを作れる。
Webアプリケーション形式はライブラリなどWebアプリではないものも作れる。
ビルド方法が若干違う。
デフォルトのソリューションファイル保存先が違う。
[My Document]\visual studio 2008\WebSites
[My Document]\visual studio 2008\Projects
などがあるが、
違いはそんなにないらしい。
【ASP.NET(C#)】Webサイト形式とWeb アプリケーション形式の違いは?
【ASP.NET(C#)】LinkButtonとHyperLinkの違い
バージョン:ASP.NET 3.5
LinkButtonとHyperLinkの違いについて。
ASP.NETで開発を始めてしばらくは、 LinkButtonのみを使っていました。
しかし、ちゃんとした違いがあるみたいなので
使い分けることにしてます。
●LinkButton
見た目は、HyperLinkと同じ。機能は、Buttonコントロールと同じ。
サーバー側でイベントを発生させてたい時に使う。
●HyperLinkについて
サーバ側でイベントを発生せずに、Web ページにリンクする場合に使う。
【ASP.NET(C#)】AutoPostBack(オートポストバック)
バージョン:ASP.NET 3.5
AutoPostBackとは、DropDownListやCheckBox、RadioButtonなどのコントロールに、
「AutoPostBack=true」が設定されている場合、項目の選んだ場合や、チェックをつけた場合、外した場合などに
サーバへ処理を送信したい場合に使う。
下記は、DropDownListを「AutoPostBack=true」に設定し、
どの項目を選んだかをLabel1に表示している。
●Default.aspx
<html> <head runat="server"> <title></title> </head> <body> <form id="form1″ runat="server"> <div> <asp:DropDownList ID="DropDownList1″runat="server" AutoPostBack="true" OnSelectedIndexChanged="on_changed"> <asp:ListItem>aaa</asp:ListItem> <asp:ListItem>bbb</asp:ListItem> <asp:ListItem>ccc</asp:ListItem> </asp:DropDownList> <br /> <asp:Label ID="Label1" runat="server" ></asp:Label> </div> </form> </body> </html>
●Default.aspx.cs
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class Default6 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void on_changed(object sender, EventArgs e) { Label1.Text = ((DropDownList)sender).SelectedItem.Text + "が選択されました。"; } }
【ASP.NET(C#)】ListViewのグループ化
バージョン:ASP.NET 3.5
ListViewのデータグループ化機能について。
データセット内の n要素ごとに周囲の HTML を指定したい場合は、
ListView の GroupItemCount プロパティを指定する。
例えば下記のように、「アイテム4つごとに<tr><tr/>で囲いたい」
などの場合にGroupItemCount プロパティを指定すると
実現できる。
・作りたいHTML
<table > <tr> <td>アイテム1</td> <td>アイテム2</td> <td>アイテム3</td> <td>アイテム4</td> </tr> <tr> <td>アイテム5</td> <td>アイテム6</td> <td>アイテム7</td> <td>アイテム8</td> </tr> <tr> <td>アイテム9</td> <td>アイテム10</td> <td>アイテム11</td> <td>アイテム12</td> </tr> </table>
アイテム1 | アイテム2 | アイテム3 | アイテム4 |
アイテム5 | アイテム6 | アイテム7 | アイテム8 |
アイテム9 | アイテム10 | アイテム11 | アイテム12 |
・ASP.NETコード
<asp:ListView ID=”ListView1″ runat=”server” ” DataSourceID=”DataSource1″ GroupItemCount=”4″ > <LayoutTemplate> <table> <asp:PlaceHolder ID=”Placeholder1″ runat=”server” /> </table> </LayoutTemplate> <GroupTemplate> <tr> <asp:PlaceHolder runat=”server” ID=”Placeholder2″ /> </tr> </GroupTemplate> <ItemTemplate> <td> movie_id: <asp:Label ID=”Label1″ runat=”server” /> <br /> <asp:Label ID=”Label2″ runat=”server” /> <br /> </td> </ItemTemplate> </asp:ListView>
【ASP.NET(C#)】ユーザの偽装について
バージョン:ASP.NET 3.5
ユーザを偽装するには、ASP.NET の Web.config にsystem.web 要素に identityを設定する。
<configuration> <system.web> <identity impersonate="true"> </identity> </system.web> </configuration>
または、ユーザ名とパスワードを固定することも可能。
<configuration> <system.web> <identity impersonate="true" password="pass" username="name"> </identity> </system.web> </configuration>
ファイルの存在チェックなどアクセス権が絡むときに使用する。
ASP.NET の偽装
http://msdn.microsoft.com/ja-jp/library/xh507fc5(VS.80).aspx
【ASP.NET(C#)】ファイルの存在を確認する
バージョン:ASP.NET 3.5
ASP.NET C#でファイルの存在を確認するには、
System.IO.File.Exists を使用する。
下記でファイルの存在を確認し、ファイルが見つかった場合と見つからなかった場合の
処理をそれぞれ記載する。
if (!System.IO.File.Exists(@”C:\test.txt”)) { //ファイルが見つからなかった場合の処理 } else { //ファイルが見つかった場合の処理 }
※ファイルの読み取り権限が無かった場合はファイルがあっても、「false」が返ってくるので注意が必要です。
【ASP.NET(C#)】ファイルの作成日時、更新日時、アクセス日時の設定
バージョン:ASP.NET 3.5
今回はファイルの作成日時、更新日時、アクセス日時の取得ではなく、
設定をする方法について。
取得の時と同様に、
ファイルの場合は、「System.IO.File」で、
ディレクトリの場合は、「System.IO.Direcrory」で設定できる。
●作成日時、更新日時、アクセス日時をそれぞれ10日前に戻す
string file_path = Server.MapPath("aaa.txt"); /****ファイルの場合********************************************************/ //作成日時の設定 System.IO.File.SetCreationTime(file_path, dtFileCreateTime.AddDays(-10)); //更新日時の設定 System.IO.File.SetLastWriteTime(file_path, dtFileCreateTime.AddDays(-10)); //アクセス日時の設定 System.IO.File.SetLastAccessTime(file_path, dtFileCreateTime.AddDays(-10)); /**************************************************************************/ /***ディレクトリの場合******************************************************/ //作成日時の設定 System.IO.Direcrory.SetCreationTime(file_path, dtFileCreateTime.AddDays(-10)); //更新日時の設定 System.IO.Direcrory.SetLastWriteTime(file_path, dtFileCreateTime.AddDays(-10)); //アクセス日時の設定 System.IO.Direcrory.SetLastAccessTime(file_path, dtFileCreateTime.AddDays(-10)); /**************************************************************************/
【ASP.NET(C#)】ファイルの作成日時、更新日時、アクセス日時の取得
ファイルの作成日時、更新日時、アクセス日時の取得をする方法について。
ファイルの日時取得には「System.IO.File」を使う。
DateTime create_time; DateTime update_time; DateTime access_time; //作成日時を取得する create_time = System.IO.File.GetCreationTime(strFile); //更新日時を取得する update_time = System.IO.File.GetLastWriteTime(strFile); //アクセス日時を取得する access_time = System.IO.File.GetLastAccessTime(strFile);
もし、ディレクトリの作成日時、更新日時、アクセス日時を取得したい場合には、
「System.IO.Direcrory」を使う。
DateTime create_time; DateTime update_time; DateTime access_time; //作成日時を取得する create_time = System.IO.Direcrory.GetCreationTime(strFile); //更新日時を取得する update_time = System.IO.Direcrory.GetLastWriteTime(strFile); //アクセス日時を取得する access_time = System.IO.Direcrory.GetLastAccessTime(strFile);
【ASP.NET(C#)】DataPager(データページャー)ページサイズ変更方法
バージョン:ASP.NET 3.5
ASP.NETの「DataPager」で ページのサイズを選んで変更できるようにする方法。
変更は、ListView の上に、ドロップダウンリストを配置して、表示件数を選ぶことが
できるようにする。
ドロップダウンリストは、AutoPostBack を true に設定し、
OnTextChangedイベントで、DataPagerのページサイズを変更する。
—————————————————————————–
ContactsDataPager.SetPageProperties(startRowIndex,maximumRows ,databind );
startRowIndex :表示される最初のレコードのインデックス。
maximumRows :1 つのデータ ページに表示する項目の最大数。
databind :プロパティの設定後にコントロールをバインドするかどうか。
—————————————————————————–
●Default.aspx
<asp:DropDownListID="page_size"runat="server"OnTextChanged="on_page_size"AutoPostBack="true"> <asp:ListItemValue="10″>10件</asp:ListItem> <asp:ListItemValue="20″>20件</asp:ListItem> <asp:ListItemValue="30″>30件</asp:ListItem> <asp:ListItemValue="40″>40件</asp:ListItem> </asp:DropDownList> <asp:ListViewID="ListView1" runat="server" OnItemDataBound="ItemDataBound" DataSourceID="ObjectDataSource"> <LayoutTemplate> <asp:DataPager ID="ContactsDataPager"runat="server"PageSize="5″> <Fields> <asp:NextPreviousPagerField ShowFirstPageButton="True" ShowLastPageButton="False" ShowNextPageButton="False" ShowPreviousPageButton="True" RenderDisabledButtonsAsLabels="true" ButtonCssClass=""/> <asp:NumericPagerField ButtonCount="5″/> <asp:NextPreviousPagerField ShowFirstPageButton="False" ShowLastPageButton="True" ShowNextPageButton="True"ShowPreviousPageButton="False" RenderDisabledButtonsAsLabels="true" ButtonCssClass=""/> </Fields> </asp:DataPager> <table> <asp:PlaceHolderID="groupPlaceholder"runat="server"/> </table> </LayoutTemplate> <GroupTemplate> <tr> <asp:PlaceHolderrunat="server"ID="itemPlaceholder"/> </tr> </GroupTemplate> <ItemTemplate> <td> ここに何か表示する </td> </ItemTemplate> </asp:ListView>
●Default.aspx.cs
public void on_page_size(Object sender, EventArgs e) { int value = int.Parse(((DropDownList)sender).SelectedValue); ContactsDataPager.SetPageProperties(0, value,true); }