这段代码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