加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – ASP:ItemTemplate中的DropDownList:为什么允许Sele

发布时间:2020-12-15 20:07:50 所属栏目:asp.Net 来源:网络整理
导读:这段代码 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 产生此错误
这段代码
<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>

问题是:当你被允许声明性地设置它们和你不属性的情况之间有什么区别?错误信息意味着它不会被允许.

解决方法

这意味着您无法通过设计器进行设置.

正确的方法是:

<asp:DropDownList runat="server" ID="testdropdown">
    <asp:ListItem Text="1" Value="1"></asp:ListItem>
    <asp:ListItem Text="2" Value="2" Selected></asp:ListItem>
    <asp:ListItem Text="3" Value="3"></asp:ListItem>
</asp:DropDownList>

绑定方法的工作原因是因为在设计模式中未选择值,而是在控件绑定到数据源之后的运行时

DropDownList.SelectedValue方法意在在运行时应用,因此无法将其设置为“装饰性”的错误

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读