・HTMLフォームコントロール
runat="server"を指定
・フォームデータ遷移が、ページ⇔ページではなく
同一ページでデータの読み込み・受け渡しをする。
(postback)
・複数のHTMLコントロールは指定できず、遷移先は全て自身のアドレスを指定
・サーバコントロールは自動管理
自分にポストした情報(何を選択しているか、など)が保管される
・Buttonコントロールで、はじめてPostBackが発生
(やり方によるけど、基本は)
・(bool) IsPostBack関数で、ポストバックか非ポストバックを判断する
※非ポストバックは、いわゆるはじめてページに飛んできたとき
PageInit→状態復元→PageLoad(ここで初期化)
(この状態復元の段階で、リスト値はPageLoadを実行せずとも復元されている)
・コードビハインドは?
vbとasp.netページをわけること。
vbクラスの中に public class CLASSNAME [inherits] System.Web.UI.Pageで指定
【vbコード】
<%@ PAGE LANGUAGE="C#" Inherits="HogeHoge" Src="sample02.aspx.cs" %> <html> <body> <form runat="server"> <asp:TextBox id="textEMail" runat="server"></asp:TextBox> </form> </body> </html>【ASP.NETページ】
public class HogeHoge : System.Web.UI.Page { protected System.Web.UI.WebControls.TextBox textEMail; private void Page_Load(object sender, System.EventArgs e) { textEMail.Text = "あいうえお"; } }
といったよう。
・データバインドとは?
データ「連結」のこと。
→ページデザインからコードにアクセスするための仕組み
書式が<%# <バインド式> %>
※この両部分のカッコをデリミタという。
Eval or Bind (コントロールのDataBind()またはPageクラスが呼ばれたときに解決される。
Eval = ReadOnly, Bind = RW ok みたいなもの。
DataBindメソッドを発行するだけで、DataGridコントロールが内部でループ処理をしてくれます。
★ちなみにこれに関数を入れることもできます。
Public Function getHeaader() As String
End Function
<HeaderTemplate>社員ID,アンケート実施日時,<%#getHeaader()%>
↑ヘッダテンプレート内に記述
ただしfunctionじゃないとだめとおもう(値を返す)
<%# FormatForXML(DataBinder.Eval(Container.DataItem, "Title")) %>
※FormatForXMLはstring引数1のオリジナル関数
【デバッグ】
System.Diagnostics.Debug.Write()
System.Diagnostics.Debug.WriteLine()
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。