バージョン:ASP.NET 3.5
クライアントのDNS名は
Request.UserHostName
で取得できる。
バージョン:ASP.NET 3.5
クライアントのDNS名は
Request.UserHostName
で取得できる。
バージョン:ASP.NET 3.5
javascriptでのクライアントID取得について。
ASP.NETで定義したIDは、実行時には長いIDになってしまう。
実行時のIDが変わってしまうと、JavaScriptを利用する場合に
IDがわからないので困る。
[ASP.NETのID].ClientID
で実行時のIDを取得できる。
さらにJavaScriptの「getElementById」で、
ドキュメントにある特定のIDを持つオブジェクトを取得できるので、
下記のようにで取得する。
▽JavaScript(ASP.NETのIDがtestの場合)
var test_element = document.getElementById("< %= test.ClientID %>”)
バージョン:ASP.NET 3.5
ASP.NETと「C#、VB.NET、J#」は何が違うのか?
ASP.NETはWebサイト、Webアプリを作るための仕組み(機能)で、
「C#、VB.NET、J#」は言語だという。
CGIという機能に対して、PerlやCなどの言語があるのと同じ事みたい。
バージョン: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 3.5
LinkButtonとHyperLinkの違いについて。
ASP.NETで開発を始めてしばらくは、 LinkButtonのみを使っていました。
しかし、ちゃんとした違いがあるみたいなので
使い分けることにしてます。
●LinkButton
見た目は、HyperLinkと同じ。機能は、Buttonコントロールと同じ。
サーバー側でイベントを発生させてたい時に使う。
●HyperLinkについて
サーバ側でイベントを発生せずに、Web ページにリンクする場合に使う。
バージョン: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 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 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 3.5
ASP.NET C#でファイルの存在を確認するには、
System.IO.File.Exists を使用する。
下記でファイルの存在を確認し、ファイルが見つかった場合と見つからなかった場合の
処理をそれぞれ記載する。
if (!System.IO.File.Exists(@”C:\test.txt”)) { //ファイルが見つからなかった場合の処理 } else { //ファイルが見つかった場合の処理 }
※ファイルの読み取り権限が無かった場合はファイルがあっても、「false」が返ってくるので注意が必要です。
バージョン: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)); /**************************************************************************/