Спасибо, я забыл знак #.

кусок кода

<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>

выдает эту ошибку:

Свойство SelectedValue не может быть установлено декларативно.

Тем не менее, это законный и часто используемый шаблон редактирования для привязанных к данным GridViews.SelectedValue&nbsp;атрибут, безусловно, представляется декларативно установленным здесь.

<EditItemTemplate>
    <asp:DropDownList runat="server" 
        ID="GenreDropDownList"
        DataSourceID="GenreDataSource" 
        DataValueField="GenreId"
        DataTextField="Name"
        SelectedValue='<%# Bind("Genre.GenreId") %>'>
    </asp:DropDownList>
</EditItemTemplate>

Вопрос в том, в чем разница между случаями, когда вам разрешено декларативно устанавливать его, и теми, в которых вы не можете это делать? Сообщение об ошибке подразумевает, что оно никогда не допускается.