1. <%=...%> と <%#... %> の違い:
回答: <%=...%> はプログラムの実行時に呼び出され、<%#... %> は DataBind() メソッドの後に呼び出されます。
2. コントロールはどのような種類のデータを受け取りますか?
回答: Bind を受け取るコントロールには、通常、DropDownList、DataList、DataGrid、ListBox などのコレクション コントロールが含まれます。バンドルされる主なコントロールは ArrayList、Hashtable、DataView、DataReader です。将来的には正しくなる予定です。 DataTable がバインドされていることはエラーではありません:)
3. DataBind、システムは取得したデータをデフォルトで String に設定しますが、それを他の型に変換するにはどうすればよいですか?
DataBinder.Eval(Container.DataItem,"変換タイプ","形式")
は
ありません。Container.DataItem はバンドルされたデータ項目であり、「変換タイプ」は Integer、String、Boolean などを指します。
<% @ Import Namespace="System.Data" %> データを処理するときに使用されます
<% @ Import Namespace="System.Data.ADO" % > ADO.net を使用する場合に使用されます。
<% @ Import Namespace="System.Data.SQL" %> SQL Server データベースのみ
<% @ Import Namespace="System.Data.XML" %> XML の処理に何が使用されているかを確認する必要はありません
<% @ Import Namespace="System.IO" %> ファイルの処理時に使用されます
<% @ Import Namespace="System.Web.Util" %> 誰もが電子メールを送信するときに使用します
<% @ Import Namespace="System.Text" %> 5.Connections (SQLConection または ADOConnection) の共通のプロパティとメソッドは、テキストをエンコードするときに使用されます
。
| ConnectionString データベースに接続するためのステートメントを取得または設定します。
| ConnectionTimeout は、データベースに接続するための最大時間を取得または設定します。これはタイムアウト時間でもあります。
| Database は、データベース サーバー上で開かれるデータベースの名前を取得または設定します。
| DataSource は DSN を取得または設定します。これについては誰もがよく知っています:)
| パスワード パスワードを取得または設定します
| UserID はログイン名を取得または設定します。
| State は現在の接続のステータスを取得します。
| Open() は接続を開きます。
| Close() は接続を閉じます。
| Clone() 接続のクローンを作成します。 (はは、羊はつながることができるので、私もつながることができます)
例:
SQLConnection myConnection = new SQLConnection();
myConnection.DataSource = "mySQLServer";
myConnection.Password = "";
myConnection.UserID = "sa";
myConnection.ConnectionTimeout = 30;
myConnection.Open();
myConnection.Database = "ノースウィンド";
myConnection.IsolationLevel = IsolationLevel.ReadCommitted
6. コマンドのよく使われるメソッドとプロパティ
| ActiveConnection 接続を取得または設定します。
| CommandText は SQL ステートメントまたはストアド プロシージャ (StoredProcedure) 名を実行します。
| CommandTimeout 最大実行時間
| CommandType コマンド操作には 3 つのタイプ (StoredProcedure、Text、TableDirect) があり、デフォルトは Text です。
| ストアド プロシージャの操作時に使用されるパラメータ
| Execute() SQL ステートメントまたはストアド プロシージャを実行します。
| ExecuteNonQuery() 上記と同じですが、レコード セットを返さない点が異なります。
| Clone() クローンコマンド
例:
string mySelectQuery = "SELECT * FROM カテゴリ ORDER BY カテゴリID";
stringmyConnectString="userid=sa;password=;database=northwind;server=mySQLServer";
SQLCommand myCommand = new SQLCommand(mySelectQuery);
myCommand.ActiveConnection = 新しい SQLConnection(myConnectString);
myCommand.CommandTimeout = 15;
myCommand.CommandType = CommandType.Text;</FONT >
7. データベースを開いたり閉じたりする 2 つの方法:
1.MyConnection.Open(); //接続を開きます。
MyConnection.Close();
2.MyCommand.ActiveConnection.Open();
MyCommand.ActiveConnection.Close()
8. DataSet を使用してデータベース内のデータを追加、変更、削除します
a.データの追加
DataRow dr=MyDataSet.Tables["UserList"].NewRow();
dr["ユーザー名"] = "週刊ニュース";
dr["ReMark"] = "100";
dr["コメント"] = "美しいMM";
b. データを変更します
。
MyDataSet.Tables["UserList"].Rows[0]["UserName"]="Brother Flying Knife";
c. データを削除します。
MyDataSet.Tables["UserList"],Rows[0].Delete();
d.データを復元します。
if(MyDataSet.HasErrors)
{
MyDataSet.RejectChanges();
}
e. DataSet が変更されたかどうかを検出します。
if(MyDataSet.HasChanges)
{
//コードを保存
}それ以外{
//変更がないため、時間を節約するために保存する必要はありません。
f. データベースを更新します
。
MyComm.Update(MyDataSet); //データベース内のすべてのテーブルを更新します。
MyComm.Update(MyDataSet,"UserList"); //テーブルを更新します
9.DataGridはページング機能を実装します
AllowPaging="True" //ページングの許可を指します。これが最も重要です。これを使用すると、ページネーションが可能になります。
PageSize="5" //各ページに表示されるレコード数を指定します。記述しない場合は、デフォルトで 10 になります。
PagerStyle-horizontalAlign="Right" //ファセット表示の位置を指定します。デフォルトは Left
PagerStyle-NextPageText="次のページ" //<> を前のページと次のページの文字列に変更します
PagerStyle-PrevPageText="前のページ"
PagerStyle-Mode="NumericPages" // <> を 123 デジタル表示に変更します
10. 合計ページ数とレポートが現在どのページにあるかを表示します。
現在のページは次のとおりです: <font color=red><%=DataGrid1.CurrentPageIndex+1%></font><br>
合計ページ数は次のとおりです: <font color=red><%=DataGrid1.PageCount%></font><br>
11.パーソナライズされたページング
Programmer's Basecamp の「Close Contact ASP.Net (14)」には完全なコード
12 があります。ページを有効な状態にリセットするには
IValidator の値。
foreach(バリデーターのval)
{
Val.IsValid = true;
}
13. 検証シーケンス全体を再実行します。
IValidator の値。
foreach(バリデーターのval)
{
Val.Validate();
}
14. クライアント検証を無効にする
<%@ ページ言語="c#" clienttarget=downlevel %>
15.Repeater、DataList、DataGrid コントロールの使用
これらのコントロールは、レポート、ショッピング カート、製品リスト、クエリなどのいくつかの一般的な Web アプリケーション シナリオを簡素化できます。
結果とナビゲーション メニュー。 リピーターは、テンプレート内で HTML フラグメントを許可する唯一のコントロールです。
16. Server.Execute("another.aspx") と Server.Transfer("another.aspx") の違い:
現在のページから指定されたページへの転送を実行し、実行を現在のページに戻します。
転送とは、指定したページに実行を完全に転送することです。
17. XML ファイルは独自のスキーマを持つことも、*.xsl ファイル内に存在することもできますが、以下に示すように、情報は xmlns 属性を通じて XML ドキュメントのルート ノードに指定する必要があります。
<rootelement xmlns="x-schema:scheduledSchema.xsl">
18. XMLファイルの読み込み
FileStream myfs=new Filestream(Server.MapPath("xmldtagrid.xml"),FileMode.Open,FileAccess.Read);
StreamReader myreader=new StreamReader(myfs);
DataSet myds=new DataSet();
myds.ReadXml(myreader);
19. 正規表現コントロール RegularExpressionValidator
記号の意味
^ チェックを開始する場所を指定します
$ はチェックの終了を指定します
[] 入力された値が角括弧内の文字のいずれかと一致するかどうかを確認します。
W では任意の値を入力できます
d{} "d" は入力値が数値であることを指定し、{} は指定されたデータ型の出現数を示します
+ は、チェックされる式に 1 つ以上の要素が追加されることを示します
例: 電子メール形式 (@ 記号があり、.com/.net/.org/.edu で終わる)
validationexpression="^[w-]+@[w-]+.(com|net|org|edu)$"
20. DataGrid コントロールでのデータ操作に関する重要なステートメント:
プロパティ: DataKeyField="userid" //ユーザー ID をテーブルの主キーとして設定します。このフィールドの値はデータベースに更新できません。テーブルの主キーを DataGrid の主キーとして設定することをお勧めします。
SqlCommand.Parameters["@userid"].Value=dg.DataKeys[(int)e.Item.ItemIndex]; //更新する行の主キーを取得します (現在選択されている行の主キー値を代入します)コマンドはパラメータです
SqlCommand.Parameters["@fname"].Value=((TextBox)e.Item.Cells[2].Controls[0]).Text; // 変更された行の値をパラメータに割り当てます。
21. カスタムコントロール:
a. ユーザーコントロール(ASP作成ページと同じ)
(I) ページを作成し、コントロールをドラッグし、このページを定義する @Control ディレクティブを <% @Control Language="C#" Debug="True" %> に設定します。
(II) *.ascx ファイル (a.ascx など) として保存します。
(III).使用: ヘッダー< %@Register Tagprefix="MyFirstControl" TagName="MyLbl" Src="a.axcs" %>
//Tagprefix は、ASP の ASP:TextBox のようなコントロールのプレフィックスです
//TagName はカスタム コントロールの名前を指定するために使用されます
//Src は制御ファイルのソースを指定します
本文:<MyFirstControl:MyLbl runat="Server" id="AllMine" MyText="Successful" />
b. C# を使用してカスタム コントロールを作成する
(I). 純粋なコード ファイルを作成し、基本クラス Control を継承し、それを *.cs (a.cs など) として保存します。
(II). コードをコンパイルしてアセンブリを生成します: csc /t:library /r:System.dll,System.Web.Dll a.cs
//ライブラリは C# コンパイラにアセンブリを生成するように指示します
// /r:System.dll System.Web.Dll は、指定されたアセンブリを参照するように C# コンパイラに指示します。
(III). 生成された dll ファイルを bin ディレクトリに配置します。
(IV).使用: <% @Register TagPrefix="Mine" Namespace="MyOwnControls" Assembly="a" %>
22. 複合コントロールに関する注意事項:
public class MyCompositin:Control,INamingContainer //INamingContainer: ページ上にこのコントロールの複数のインスタンスがある場合、このインターフェースは各 {} インスタンスに一意のフラグを与えることができます
this.EnsureChildControls();//複合コントロールが All であることを示しますこのメソッドは、サーバー コントロールに子コントロールが含まれているかどうかを確認します
。
23.Button/LinkButton/ImageButton/HyperLink はいつ使用されますか?
1.Button と ImageButton は、データをサーバーに戻すために使用されます。
2.ハイパーリンクはページ間を移動するために使用されます
3.LinkButton は、サーバーにデータを保存したり、サーバー上のデータにアクセスしたりするために使用されます。
24. 追跡とデバッグ
追跡:
1. ページ レベルのトレース: ページの先頭に次のページ指示を含めます <%@ Page Trace="True" TraceMode="SortByCategory/SortByTime" %>
カスタムメッセージ:
Trace.Write("表示する文字列は次のとおりです");
Trace.Warn("ここに表示される文字列があります"); //フォントが赤色であることを除いて、Trace.Write と同じです。
追跡が使用されているかどうかを確認する
例: if(Trace.IsEnabled) { Trace.Warn("トレースは有効です")}
2. アプリケーション レベルのトレース: Web.config ファイルの <System.Web> セクションの <trace allowed="true" pageOutput="true"/>
25. キャッシュを設定します。
1.出力キャッシュ:
I. ページ設定: キャッシュする必要があるページの先頭に <%@ OutputCache Duration="120" VaryByParam="none" %> を追加します。
注: 出力コンテンツは、このページをリクエストしてから 2 分間以内は変更されません。
II. プログラムによる設定:
主に System.Web.HttpCachePolicy クラスのメソッドを使用します。
(1). Response.Cache.SetExpires(DateTime.Now.AddSeconds(120)); //この文は 2 分のように、有効期限を指定する必要があります。
(2).Response.Cache.SetExpires(DateTime.Now.AddSeconds(120));
Response.Cache.SetSlidingExpiration(true); //「調整可能な有効期限」は主に、最初は訪問数が多いが、 // 訪問数のバランスが取れている状況で使用されます。
機能: 最初の行はキャッシュの有効期限を設定し、2 行目はスライド有効期限 (調整可能な有効期限) をオンにします。
2. データキャッシュ:
(1).DataView mySource; (2).mySource に値を割り当てます。
(3).Cache["myCache"]=mySource; (4).mySource=(DataView)Cache["myCache"]
26. デプロイメント: 製品サーバーに直接コピーしてステートメントをコピーします: XCOPY <source_path> <destination_path> //XOPY は仮想パスではなく物理パスのみを受け入れます