summaryrefslogtreecommitdiff
path: root/demos/quickstart/protected
diff options
context:
space:
mode:
authorxue <>2006-04-07 03:32:11 +0000
committerxue <>2006-04-07 03:32:11 +0000
commit370c682479edb2fd3f40ee701f7bb4ef088e8283 (patch)
treed5fee37ac2b40a3a984bf860bce09562a8532040 /demos/quickstart/protected
parent8b7717c06b86262d188827fb26a4bfb2e480c256 (diff)
Breaking change!! Optimized the representation and evaluation of template expression, statements and databind tags.
Diffstat (limited to 'demos/quickstart/protected')
-rw-r--r--demos/quickstart/protected/pages/Configurations/Templates2.page30
-rw-r--r--demos/quickstart/protected/pages/Controls/Expression.page13
-rw-r--r--demos/quickstart/protected/pages/Controls/Samples/TDataGrid/Sample2.page2
-rw-r--r--demos/quickstart/protected/pages/Controls/Samples/TDataGrid/Sample2.php2
-rw-r--r--demos/quickstart/protected/pages/Controls/Samples/TDataGrid/Sample6.page1
-rw-r--r--demos/quickstart/protected/pages/Controls/Samples/TDataList/Sample1.page10
-rw-r--r--demos/quickstart/protected/pages/Controls/Samples/TDataList/Sample2.page12
-rw-r--r--demos/quickstart/protected/pages/Controls/Samples/TExpression/Home.page6
-rw-r--r--demos/quickstart/protected/pages/Controls/Samples/TRepeater/Sample1.page20
-rw-r--r--demos/quickstart/protected/pages/Controls/Samples/TRepeater/Sample2.page8
-rw-r--r--demos/quickstart/protected/pages/Controls/Samples/TRepeater/Sample3.page12
-rw-r--r--demos/quickstart/protected/pages/Controls/Samples/TStatements/Home.page9
-rw-r--r--demos/quickstart/protected/pages/Controls/Statements.page19
13 files changed, 66 insertions, 78 deletions
diff --git a/demos/quickstart/protected/pages/Configurations/Templates2.page b/demos/quickstart/protected/pages/Configurations/Templates2.page
index f4f68b69..0971c828 100644
--- a/demos/quickstart/protected/pages/Configurations/Templates2.page
+++ b/demos/quickstart/protected/pages/Configurations/Templates2.page
@@ -10,52 +10,59 @@ Dynamic content tags are introduced as shortcuts to some commonly used <a href="
<a name="et"></a>
<h3>Expression Tags</h3>
<p>
-An expression tag represents a PHP expression that is evaluated when the template control is being rendered. The expression evaluation result is inserted at the place where the tag resides in the template. Its format is as follows,
+An expression tag represents a PHP expression that is evaluated when the template control is being rendered. The expression evaluation result is inserted at the place where the tag resides in the template. The context (namely <tt>$this</tt>) of the expression is the control owning the template.
+</p>
+<p>
+The format of an expression tag is as follows,
+</p>
<com:TTextHighlighter Language="prado" CssClass="source">
&lt;%= PhpExpression %&gt;
</com:TTextHighlighter>
-Inernally, an expression tag is represented by a <tt>TExpression</tt> control. Therefore, in the expression <tt>$this</tt> refers to the <tt>TExpression</tt> control. For example, the following expression tag will display the current page title at the place,
+<p>
+For example, the following expression tag will display the current page title at the place,
+</p>
<com:TTextHighlighter Language="prado" CssClass="source">
-&lt;%= $this-&gt;Page-&gt;Title %&gt;
+&lt;%= $this-&gt;Title %&gt;
</com:TTextHighlighter>
-</p>
<a name="st"></a>
<h3>Statement Tags</h3>
<p>
-Statement tags are similar to expression tags, except that statement tags contain PHP statements rather than expressions. The output of the PHP statements (using for example <tt>echo</tt> or <tt>print</tt> in PHP) are displayed at the place where the statement tag resides in the template. Inernally, a statement tag is represented by a <tt>TStatements</tt> control. Therefore, in the statements <tt>$this</tt> refers to the <tt>TStatements</tt> control. The format of statement tags is as follows,
+Statement tags are similar to expression tags, except that statement tags contain PHP statements rather than expressions. The output of the PHP statements (using for example <tt>echo</tt> or <tt>print</tt> in PHP) are displayed at the place where the statement tag resides in the template. The context (namely <tt>$this</tt>) of the statements is the control owning the template. The format of statement tags is as follows,
+</p>
<com:TTextHighlighter Language="prado" CssClass="source">
&lt;%%
PHP Statements
%&gt;
</com:TTextHighlighter>
-</p>
<p>
The following example displays the current time in Dutch at the place,
+</p>
<com:TTextHighlighter Language="prado" CssClass="source">
&lt;%%
setlocale(LC_ALL, 'nl_NL');
echo strftime("%A %e %B %Y",time());
%&gt;
</com:TTextHighlighter>
-</p>
<a name="dt"></a>
<h3>Databind Tags</h3>
<p>
-Databind tags are similar to expression tags, except that the expressions are evaluated only when a <tt>dataBind()</tt> call is invoked on the controls representing the databind tags. Internally, a <tt>TLiteral</tt> control is used to represent a databind tag and <tt>$this</tt> in the expression would refer to the control. The format of databind tags is as follows,
+Databind tags are similar to expression tags, except that the expressions are evaluated only when a <tt>dataBind()</tt> call is invoked on the controls representing the databind tags. The context (namely <tt>$this</tt>) of a databind expression is the control owning the template. The format of databind tags is as follows,
+</p>
<com:TTextHighlighter Language="prado" CssClass="source">
&lt;%# PhpExpression %&gt;
</com:TTextHighlighter>
-</p>
<a name="pt"></a>
<h3>Parameter Tags</h3>
<p>
Parameter tags are used to insert application parameters at the place where they appear in the template. The format of parameter tags is as follows,
+</p>
<com:TTextHighlighter Language="prado" CssClass="source">
&lt;%$ ParameterName %&gt;
</com:TTextHighlighter>
+<p>
Note, application parameters are usually defined in application configurations or page directory configurations. The parameters are evaluated when the template is instantiated.
</p>
@@ -66,9 +73,11 @@ Asset tags are used to publish private files and display the corresponding the U
</p>
<p>
The format of asset tags is as follows,
+</p>
<com:TTextHighlighter Language="prado" CssClass="source">
&lt;%~ LocalFileName %&gt;
</com:TTextHighlighter>
+<p>
where <tt>LocalFileName</tt> refers to a file path that is relative to the directory containing the current template file. The file path can be a single file or a directory. If the latter, the content in the whole directory will be made accessible by end-users.
</p>
<p>
@@ -79,9 +88,12 @@ BE VERY CAUTIOUS when you are using asset tags as it may expose to end-users fil
<h3>Localization Tags</h3>
<p>
Localization tags represent localized texts. They are in the following format,
+</p>
<com:TTextHighlighter Language="prado" CssClass="source">
&lt;%[string]%&gt;
</com:TTextHighlighter>
+<p>
where <tt>string</tt> will be translated to different languages according to the end-user's language preference.
+</p>
</com:TContent> \ No newline at end of file
diff --git a/demos/quickstart/protected/pages/Controls/Expression.page b/demos/quickstart/protected/pages/Controls/Expression.page
index c87f0ba4..80a45a3a 100644
--- a/demos/quickstart/protected/pages/Controls/Expression.page
+++ b/demos/quickstart/protected/pages/Controls/Expression.page
@@ -4,23 +4,14 @@
<com:DocLink ClassPath="System.Web.UI.WebControls.TExpression" />
<p>
-<tt>TExpression</tt> evaluates a PHP expression and displays the evaluation result. To specify the expression to be evaluated, set the <tt>Expression</tt> property. In a control template, <a href="?page=Configurations.Templates2#et">expression tags</a> are often used instead of the complete <a href="?page=Configurations.Templates1#ct">component tags</a> when the main purpose is to display the evaluation result of some PHP expression. For example, the following two tags are equivalent,
-</p>
-<com:TTextHighlighter Language="prado" CssClass="source">
-&lt;com:TExpression Expression="date()" /&gt;
-&lt;%= date() %&gt;
-</com:TTextHighlighter>
-
-<p>
-<tt>TExpression</tt> evaluates the expression during the rendering control lifecycle.
+<tt>TExpression</tt> evaluates a PHP expression and displays the evaluation result. To specify the expression to be evaluated, set the <tt>Expression</tt> property. Note, <tt>TExpression</tt> evaluates the expression during the rendering control lifecycle.
</p>
<p>
-The context of the expression in a <tt>TExpression</tt> control is the control itself. That is, <tt>$this</tt> represents the control object if it is present in the expression. For example, both of the following template tags will display the title of the page containing the <tt>TExpression</tt> control.
+The context of the expression in a <tt>TExpression</tt> control is the control itself. That is, <tt>$this</tt> represents the control object if it is present in the expression. For example, the following template tag will display the title of the page containing the <tt>TExpression</tt> control.
</p>
<com:TTextHighlighter Language="prado" CssClass="source">
&lt;com:TExpression Expression="$this->Page->Title" /&gt;
-&lt;%= $this->Page->Title %&gt;
</com:TTextHighlighter>
<p>
diff --git a/demos/quickstart/protected/pages/Controls/Samples/TDataGrid/Sample2.page b/demos/quickstart/protected/pages/Controls/Samples/TDataGrid/Sample2.page
index 6de3063a..79c1890c 100644
--- a/demos/quickstart/protected/pages/Controls/Samples/TDataGrid/Sample2.page
+++ b/demos/quickstart/protected/pages/Controls/Samples/TDataGrid/Sample2.page
@@ -42,7 +42,7 @@
<com:TTemplateColumn>
<prop:HeaderTemplate>Rating</prop:HeaderTemplate>
<prop:ItemTemplate>
- <img src="images/star<%#$this->NamingContainer->DataItem['rating']%>.gif" alt="" />
+ <img src="images/star<%#$this->Parent->DataItem['rating']%>.gif" alt="" />
</prop:ItemTemplate>
</com:TTemplateColumn>
</com:TDataGrid>
diff --git a/demos/quickstart/protected/pages/Controls/Samples/TDataGrid/Sample2.php b/demos/quickstart/protected/pages/Controls/Samples/TDataGrid/Sample2.php
index d40e3be3..a49077b5 100644
--- a/demos/quickstart/protected/pages/Controls/Samples/TDataGrid/Sample2.php
+++ b/demos/quickstart/protected/pages/Controls/Samples/TDataGrid/Sample2.php
@@ -78,6 +78,8 @@ class Sample2 extends TPage
{
foreach($this->DataGrid->Columns as $index=>$column)
$column->Visible=$sender->Items[$index]->Selected;
+ $this->DataGrid->DataSource=$this->Data;
+ $this->DataGrid->dataBind();
}
}
diff --git a/demos/quickstart/protected/pages/Controls/Samples/TDataGrid/Sample6.page b/demos/quickstart/protected/pages/Controls/Samples/TDataGrid/Sample6.page
index d2277bc5..3d1a33a8 100644
--- a/demos/quickstart/protected/pages/Controls/Samples/TDataGrid/Sample6.page
+++ b/demos/quickstart/protected/pages/Controls/Samples/TDataGrid/Sample6.page
@@ -6,6 +6,7 @@
<div style="width:500px">
<com:TDataGrid
ID="DataGrid"
+ Width="100%"
AllowPaging="true"
AllowCustomPaging="true"
VirtualItemCount="19"
diff --git a/demos/quickstart/protected/pages/Controls/Samples/TDataList/Sample1.page b/demos/quickstart/protected/pages/Controls/Samples/TDataList/Sample1.page
index dee3a41c..25b7db81 100644
--- a/demos/quickstart/protected/pages/Controls/Samples/TDataList/Sample1.page
+++ b/demos/quickstart/protected/pages/Controls/Samples/TDataList/Sample1.page
@@ -26,7 +26,7 @@ Since the page is mainly for display and does not require user interactions, the
<prop:FooterTemplate>
<div style="font-weight:bold; text-align:center;">
-Total <%# $this->Parent->Parent->ItemCount %> products.
+Total <%# $this->Parent->ItemCount %> products.
</div>
</prop:FooterTemplate>
@@ -36,10 +36,10 @@ Total <%# $this->Parent->Parent->ItemCount %> products.
<th>ID</th><th>Name</th><th>Quantity</th><th>Price</th>
</tr>
<tr>
- <td align="right"><%#$this->Parent->DataItem['id'] %></td>
- <td align="right"><%#$this->Parent->DataItem['name'] %></td>
- <td align="right"><%#$this->Parent->DataItem['quantity'] %></td>
- <td align="right">$<%#$this->Parent->DataItem['price'] %></td>
+ <td align="right"><%#$this->DataItem['id'] %></td>
+ <td align="right"><%#$this->DataItem['name'] %></td>
+ <td align="right"><%#$this->DataItem['quantity'] %></td>
+ <td align="right">$<%#$this->DataItem['price'] %></td>
</tr>
</table>
</prop:ItemTemplate>
diff --git a/demos/quickstart/protected/pages/Controls/Samples/TDataList/Sample2.page b/demos/quickstart/protected/pages/Controls/Samples/TDataList/Sample2.page
index 07980c49..4b484b21 100644
--- a/demos/quickstart/protected/pages/Controls/Samples/TDataList/Sample2.page
+++ b/demos/quickstart/protected/pages/Controls/Samples/TDataList/Sample2.page
@@ -29,7 +29,7 @@
Text=<%#$this->Parent->DataItem['id']%>
CommandName="select"
/>
- <%#$this->Parent->DataItem['name']%>
+ <%#$this->DataItem['name']%>
</td>
<td align="right">
<com:TLinkButton
@@ -52,10 +52,10 @@
<th>ID</th><th>Name</th><th>Quantity</th><th>Price</th>
</tr>
<tr>
- <td align="right"><%#$this->Parent->DataItem['id'] %></td>
- <td align="right"><%#$this->Parent->DataItem['name'] %></td>
- <td align="right"><%#$this->Parent->DataItem['quantity'] %></td>
- <td align="right">$<%#$this->Parent->DataItem['price'] %></td>
+ <td align="right"><%#$this->DataItem['id'] %></td>
+ <td align="right"><%#$this->DataItem['name'] %></td>
+ <td align="right"><%#$this->DataItem['quantity'] %></td>
+ <td align="right">$<%#$this->DataItem['price'] %></td>
</tr>
<tr>
<td colspan="4" align="right">
@@ -77,7 +77,7 @@
<table border="0" width="100%">
<tr>
<td align="right">ID</td>
- <td><b><%#$this->Parent->DataItem['id']%></b></td>
+ <td><b><%#$this->DataItem['id']%></b></td>
</tr>
<tr>
<td align="right">Name</td>
diff --git a/demos/quickstart/protected/pages/Controls/Samples/TExpression/Home.page b/demos/quickstart/protected/pages/Controls/Samples/TExpression/Home.page
index 2273f3c1..8c736ca9 100644
--- a/demos/quickstart/protected/pages/Controls/Samples/TExpression/Home.page
+++ b/demos/quickstart/protected/pages/Controls/Samples/TExpression/Home.page
@@ -10,12 +10,6 @@ Using expression component tag:
<com:TExpression Expression="$this->Page->Head->Title" />
</td></tr>
-<tr><td class="samplenote">
-Using shortcut expression tag:
-</td><td class="sampleaction">
-<%= $this->Page->PagePath %>
-</td></tr>
-
</table>
</com:TContent> \ No newline at end of file
diff --git a/demos/quickstart/protected/pages/Controls/Samples/TRepeater/Sample1.page b/demos/quickstart/protected/pages/Controls/Samples/TRepeater/Sample1.page
index e28ef6fb..f519342d 100644
--- a/demos/quickstart/protected/pages/Controls/Samples/TRepeater/Sample1.page
+++ b/demos/quickstart/protected/pages/Controls/Samples/TRepeater/Sample1.page
@@ -17,21 +17,21 @@
<prop:ItemTemplate>
<tr style="background-color:#BFCFFF">
-<td><%#$this->Parent->DataItem['id']%></td>
-<td><%#$this->Parent->DataItem['name']%></td>
-<td><%#$this->Parent->DataItem['quantity']%></td>
-<td><%#$this->Parent->DataItem['price']%></td>
-<td><%#$this->Parent->DataItem['imported']?'Yes':'No'%></td>
+<td><%#$this->DataItem['id']%></td>
+<td><%#$this->DataItem['name']%></td>
+<td><%#$this->DataItem['quantity']%></td>
+<td><%#$this->DataItem['price']%></td>
+<td><%#$this->DataItem['imported']?'Yes':'No'%></td>
</tr>
</prop:ItemTemplate>
<prop:AlternatingItemTemplate>
<tr style="background-color:#E6ECFF">
-<td><%#$this->Parent->DataItem['id']%></td>
-<td><%#$this->Parent->DataItem['name']%></td>
-<td><%#$this->Parent->DataItem['quantity']%></td>
-<td><%#$this->Parent->DataItem['price']%></td>
-<td><%#$this->Parent->DataItem['imported']?'Yes':'No'%></td>
+<td><%#$this->DataItem['id']%></td>
+<td><%#$this->DataItem['name']%></td>
+<td><%#$this->DataItem['quantity']%></td>
+<td><%#$this->DataItem['price']%></td>
+<td><%#$this->DataItem['imported']?'Yes':'No'%></td>
</tr>
</prop:AlternatingItemTemplate>
diff --git a/demos/quickstart/protected/pages/Controls/Samples/TRepeater/Sample2.page b/demos/quickstart/protected/pages/Controls/Samples/TRepeater/Sample2.page
index b939c586..ce0942c3 100644
--- a/demos/quickstart/protected/pages/Controls/Samples/TRepeater/Sample2.page
+++ b/demos/quickstart/protected/pages/Controls/Samples/TRepeater/Sample2.page
@@ -14,7 +14,7 @@
<prop:ItemTemplate>
<tr>
<com:TTableCell ID="Cell">
- <%#$this->NamingContainer->DataItem %>
+ <%#$this->DataItem %>
</com:TTableCell>
<td>
<com:TRepeater
@@ -29,13 +29,13 @@
<prop:ItemTemplate>
<com:TTableRow ID="Row">
<com:TTableCell Width="70px">
- <%#$this->NamingContainer->DataItem['name'] %>
+ <%#$this->DataItem['name'] %>
</com:TTableCell>
<com:TTableCell Width="20">
- <%#$this->NamingContainer->DataItem['age'] %>
+ <%#$this->DataItem['age'] %>
</com:TTableCell>
<com:TTableCell Width="150px">
- <%#$this->NamingContainer->DataItem['position'] %>
+ <%#$this->DataItem['position'] %>
</com:TTableCell>
</com:TTableRow>
</prop:ItemTemplate>
diff --git a/demos/quickstart/protected/pages/Controls/Samples/TRepeater/Sample3.page b/demos/quickstart/protected/pages/Controls/Samples/TRepeater/Sample3.page
index fde06a36..38636962 100644
--- a/demos/quickstart/protected/pages/Controls/Samples/TRepeater/Sample3.page
+++ b/demos/quickstart/protected/pages/Controls/Samples/TRepeater/Sample3.page
@@ -69,12 +69,12 @@ The following example allows users to modify the existing tabular data using a <
</prop:HeaderTemplate>
<prop:ItemTemplate>
-<tr style="<%# 'background-color:' . ($this->Parent->ItemIndex%2 ? '#BFCFFF' : '#E6ECFF') %>">
-<td><%#$this->Parent->DataItem['id']%></td>
-<td><%#$this->Parent->DataItem['name']%></td>
-<td><%#$this->Parent->DataItem['category']%></td>
-<td><%#$this->Parent->DataItem['price']%></td>
-<td><%#$this->Parent->DataItem['imported']?'Yes':'No'%></td>
+<tr style="<%# 'background-color:' . ($this->ItemIndex%2 ? '#BFCFFF' : '#E6ECFF') %>">
+<td><%#$this->DataItem['id']%></td>
+<td><%#$this->DataItem['name']%></td>
+<td><%#$this->DataItem['category']%></td>
+<td><%#$this->DataItem['price']%></td>
+<td><%#$this->DataItem['imported']?'Yes':'No'%></td>
</tr>
</prop:ItemTemplate>
diff --git a/demos/quickstart/protected/pages/Controls/Samples/TStatements/Home.page b/demos/quickstart/protected/pages/Controls/Samples/TStatements/Home.page
index 66734ce0..d07bf159 100644
--- a/demos/quickstart/protected/pages/Controls/Samples/TStatements/Home.page
+++ b/demos/quickstart/protected/pages/Controls/Samples/TStatements/Home.page
@@ -15,15 +15,6 @@ Using TStatements component tag:
</com:TStatements>
</td></tr>
-<tr><td class="samplenote">
-Using shortcut statements tag:
-</td><td class="sampleaction">
-<%%
- $uid=$this->UniqueID;
- echo "UniqueID is '$uid'.";
-%>
-</td></tr>
-
</table>
</com:TContent> \ No newline at end of file
diff --git a/demos/quickstart/protected/pages/Controls/Statements.page b/demos/quickstart/protected/pages/Controls/Statements.page
index c6807738..dd26ec1b 100644
--- a/demos/quickstart/protected/pages/Controls/Statements.page
+++ b/demos/quickstart/protected/pages/Controls/Statements.page
@@ -4,34 +4,31 @@
<com:DocLink ClassPath="System.Web.UI.WebControls.TStatements" />
<p>
-<tt>TStatements</tt> evaluates a sequence of PHP statements and displays the content rendered by the statements. To specify the PHP statements to be evaluated, set the <tt>Statements</tt> property. In a control template, <a href="?page=Configurations.Templates2#st">statement tags</a> are often used instead of the complete <a href="?page=Configurations.Templates1#ct">component tags</a> when the main purpose is to display the result rendered by some PHP statements. For example, the following two tags are equivalent,
+<tt>TStatements</tt> evaluates a sequence of PHP statements and displays the content rendered by the statements. To specify the PHP statements to be evaluated, set the <tt>Statements</tt> property. For example, the following component tag displays the current time on the Web page,
</p>
<com:TTextHighlighter Language="prado" CssClass="source">
&lt;com:TStatements&gt;
- &lt;prop:Expression&gt;
+ &lt;prop:Statements&gt;
setlocale(LC_ALL, 'nl_NL');
echo strftime("%A %e %B %Y",time());
- &lt;/prop:Expression&gt;
+ &lt;/prop:Statements&gt;
&lt;/com:TStatements&gt;
-
-&lt;%%
- setlocale(LC_ALL, 'nl_NL');
- echo strftime("%A %e %B %Y",time());
-%&gt;
</com:TTextHighlighter>
<p>
-<tt>TStatements</tt> evaluates the PHP statements during the rendering control lifecycle. Unlike <tt>TExpression</tt>, <tt>TStatements</tt> only displays the content 'echoed' within the statements.
+Note, <tt>TStatements</tt> evaluates the PHP statements during the rendering control lifecycle. Unlike <tt>TExpression</tt>, <tt>TStatements</tt> only displays the content 'echoed' within the statements.
</p>
<p>
The context of the statements in a <tt>TStatements</tt> control is the control itself. That is, <tt>$this</tt> represents the control object if it is present in the statements. For example, the following statement tag will display the title of the page containing the <tt>TStatements</tt> control.
</p>
<com:TTextHighlighter Language="prado" CssClass="source">
-&lt;%%
+&lt;com:TStatements&gt;
+ &lt;prop:Statements&gt;
$page=$this->Page;
echo $page->Title;
-%&gt;
+ &lt;/prop:Statements&gt;
+&lt;/com:TStatements&gt;
</com:TTextHighlighter>
<p>