我有一个gridview,它从sqldatasource中提取数据,当我点击编辑时,我想要添加下拉列表而不是文本框。下拉列表的值必须预设如下(不是从DB中提取)
这是gridview模板代码:
<asp:TemplateField HeaderText="Priority" SortExpression="Priority">
<EditItemTemplate>
<asp:DropDownList ID="DropDownList1" runat="server"
DataTextField='<%# Bind("Priority") %>'
DataValueField='<%# Bind("Priority") %>'
DataSource='<%# Bind("Priority") %>' >
<asp:ListItem>1:High</asp:ListItem>
<asp:ListItem>2:Medium</asp:ListItem>
<asp:ListItem>3:Low</asp:ListItem>
</asp:DropDownList>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="lblPriority" runat="server" Text='<%# Bind("Priority") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
我一直遇到类似的错误:
DataBinding:'System.Char'不包含名称为'3:Low'的属性。
任何人都可以从上面看出原因是什么吗?
答案 0 :(得分:0)
您已将DropDownList绑定到数据库中的Priority字段。因此,每个优先级必须包含以下值之一:
1:High
2:Medium
3:Low
可能是优先级字段包含一个整数,即1,2,3或一个值,即高,中,低而不是:'1:高','2:中'。'3:低'?< / p>
如果不是这种情况,请提供优先级字段中的一些示例值。