這段代碼ASP:ItemTemplate中的DropDownList:爲什麼允許SelectedValue屬性?
<asp:DropDownList runat="server" ID="testdropdown" SelectedValue="2">
<asp:ListItem Text="1" Value="1"></asp:ListItem>
<asp:ListItem Text="2" Value="2"></asp:ListItem>
<asp:ListItem Text="3" Value="3"></asp:ListItem>
</asp:DropDownList>
產生這樣的錯誤:
The 'SelectedValue' property cannot be set declaratively.
然而,這是一個數據綁定GridView的法律和常用的編輯模板。 SelectedValue
屬性在這裏顯然是聲明式設置的。
<EditItemTemplate>
<asp:DropDownList runat="server"
ID="GenreDropDownList"
DataSourceID="GenreDataSource"
DataValueField="GenreId"
DataTextField="Name"
SelectedValue='<%# Bind("Genre.GenreId") %>'>
</asp:DropDownList>
</EditItemTemplate>
的問題是:是什麼情況之間的差異,當你被允許以聲明方式設置它和那些在你是不是?錯誤消息意味着它從來不被允許。
那會回答我的問題,如果不是我的問題的第二部分。顯然,在某些情況下,您可以聲明式設置SelectedValue,如我所示。我試圖理解當你被允許與不允許的情況下的區別。 – recursive 2009-02-24 04:42:43
因爲在gridview模板中你還沒有使用bind方法實際設置一個值。綁定實際上是在運行時發生的。 這就像是說:「在運行時,當我將數據綁定到它時,根據此字段選擇一個值」 – Gautam 2009-02-24 12:32:28