1)在aspx頁面內的表達式,我們定義了一個名爲GridView控件gvwPolls,它的模板中,我們定義了一個名爲pollBox1完全失去了 - 數據綁定GridView的模板
<asp:GridView ID="GridView1" DataSourceID="objPolls" ...>
<Columns>
<asp:TemplateField>
<ItemTemplate>
Question is : <%# Eval("QuestionText") %> <br />
<mb:PollBox ID="PollBox1" runat="server" PollID='<%# Eval("ID") %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:ObjectDataSource ID="objPolls" ...></asp:ObjectDataSource>
一)我假設用戶控制那gvwPolls的模板,gvwPollBox1.DataBind之前調用PollID='<%# Eval("ID") %>'
和<%# Eval("QuestionText") %>
表達式得到評估?!
B)有人可以提供一些解釋如何或爲何gvwPollBox1.DataBind稱爲PollID='<%# Eval("ID") %>'
和<%# Eval("QuestionText") %>
表現得到評估之前?
2)繼續上述示例:
- pollBox1用戶控制定義了一個名爲一箇中繼器控制rptOptions:
<asp:Repeater runat="server" ID="rptOptions">
<ItemTemplate>
<%# Eval("pollBoxTitle") %>
</ItemTemplate>
</asp:Repeater>
- 在pollBox1的代碼隱藏文件我們綁定rptOptions內部數據源DoBinding()方法。
- 我們還覆蓋pollBox1的DataBind()方法:
public override void DataBind()
{
base.DataBind();
DoBinding();
}
一個)我假定由於重寫pollBox1.DataBind(),數據綁定表達式<%# Eval("pollBoxTitle") %>
(內側rptOptions的定義模板)將在得到評估之前致電DoBinding方法?如果是這樣,<%# Eval("pollBoxTitle") %>
之前會不會rptOptions實際上綁定到數據源?
b)中如果是這樣的情況下,如何然後是rptOptions能夠從數據源中提取的值(從數據源的pollBoxtitle屬性),如果此時的<%# Eval("pollBoxTitle") %>
表達得到了評價,rptOptions還沒有綁定到任何數據源?
感謝名單