看板 Visual_Basic 關於我們 聯絡資訊
%= 相當於response.write(),而%#通常用於有連接datasource的control裡面 以下是itemtemplate的例子 <asp:FormView ID="FormView1" DataSourceID="SqlDataSource1" DataKeyNames="ProductID" RunAt="server"> <ItemTemplate> <table> <tr> <td align="right"><b>Product ID:</b></td> <td><%# Eval("ProductID") %></td> </tr> (中略) <tr> <td align="right"><b>Unit Price:</b></td> <td><%# Eval("UnitPrice") %></td> </tr> </table> </ItemTemplate> </asp:FormView> 或在比如說在gridview的templatefield內用<%# eval("欄位") %> 取出datasource內的id欄位 <Columns> <asp:BoundField DataField="FirstName" HeaderText="First Name"/> <asp:BoundField DataField="LastName" HeaderText="Last Name"/> <asp:TemplateField HeaderText="Birth Date"> <ItemTemplate> <asp:Label ID="BirthDateLabel" Runat="Server" Text='<%# Eval("BirthDate", "{0:d}") %>' /> </ItemTemplate> </asp:TemplateField> </Columns> 或在把某一個textbox的內容bind給datasource內欄位 配合update command就不用再自己寫update SQL <EditItemTemplate> <table> <tr> <td align=right> <b>Employee ID:</b> </td> <td> <%# Eval("EmployeeID") %> </td> </tr> <tr> <td align=right> <b>First Name:</b> </td> <td> <asp:TextBox ID="EditNameTextBox" RunAt="Server" Text='<%# Bind("Name") %>' /> </td> </tr> <tr> <td colspan="2"> <asp:LinkButton ID="UpdateButton" RunAt="server" Text="Update" CommandName="Update" /> &nbsp; <asp:LinkButton ID="CancelUpdateButton" RunAt="server" Text="Cancel" CommandName="Cancel" /> </td> </tr> </table> </EditItemTemplate> 你認為他們一樣,那你可以試試看<%= Eval("欄位") %>看看後果如何 %# 沒用到bind()或eval()不要亂用,%= 也盡量少用 asp.net設計那麼多control給你,可以在code-behind做完的事不要用老asp的老方法 See also: http://msdn.microsoft.com/en-us/library/ms178366.aspx   -- 從前有個馬鈴薯王國 有個高貴偉大的國王 有的人尊敬他 有的人畏懼他 但有個人敢看不起他不只是一條龍 嘿呵 快出動 去征服 去擺平 嘿呵 快出征 去征服那條龍 嘿呵 快出動(宰了它!轟了它!)嘿呵 快出征 去征服那條龍 :■ Potatoes and Dragons (C)Alphanim France 2004-05 :. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.163.12.174
forkome:感謝M大給小弟觀念,受益良多 12/10 13:55
forkome:小弟試著將<%# %>換成<%= %>的結果 12/10 13:55
forkome:則是會將整個<%= XXX %>內容噴在前端,而已XXX變量內容 12/10 13:56
forkome:                       非 12/10 13:57
forkome:M大我搞笑了,我打錯字,再麻煩幫我修正 Q_Q 12/10 13:58
MOONRAKER:你知道就好 |D 12/10 14:05
MOONRAKER:你可以玩一下studio裡面的設計工具,插入一個gridview 12/10 14:05
MOONRAKER:再加各種欄位,觀察他產出的code裡面 %# 的使用時機 12/10 14:07
MOONRAKER:以前也看過templatefield裡面要結合兩個欄位再去查詢 12/10 14:09
MOONRAKER:結果寫出 <%# customQuery(Eval("Id"), Eval("Name") %> 12/10 14:10
MOONRAKER:customQuery()是一個自訂的function寫在後端 12/10 14:11
forkome:原來除了可以接受DataSource的欄位名稱,也可以呼叫函式 12/10 17:36
MOONRAKER:似乎 %# 特別的就是可以使用Eval()和Bind() 12/11 12:44
MOONRAKER:其他行為就和 %= 是一樣的 12/11 12:44