使用下拉列表的asp.net gridview更新

时间:2013-03-15 08:45:07

标签: asp.net gridview drop-down-menu sqldatasource

我有一个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'的属性。

任何人都可以从上面看出原因是什么吗?

1 个答案:

答案 0 :(得分:0)

您已将DropDownList绑定到数据库中的Priority字段。因此,每个优先级必须包含以下值之一:

1:High
2:Medium
3:Low

可能是优先级字段包含一个整数,即1,2,3或一个值,即高,中,低而不是:'1:高','2:中'。'3:低'?< / p>

如果不是这种情况,请提供优先级字段中的一些示例值。