・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>
- 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 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。