2012-03-13 47 views
1

我有这样的代码,我发现这个网站上的DeleteCommand在数据列表,无法转换INT为目标字符串类型

http://msdn.microsoft.com/en-us/library/efx1fwb6.aspx

<asp:DataList runat="server" ID="Datalist1" DataSourceID="SqlDataSource1" DataKeyField="BrandID" OnDeleteCommand="DataList1_DeleteCommand"> 
    <ItemTemplate> 
     <asp:Label runat="server" ID="BrandNameLabel" Text='<%#Eval("BrandName") %>' /> 
     <br/> 
     <asp:Button runat="server" ID="Delete" Text="Slet" CommandName="Delete" /> 
    </ItemTemplate> 
</asp:DataList> 

protected void DataList1_DeleteCommand(object source, DataListCommandEventArgs e) 
{ 
    int id = (int) Datalist1.DataKeys[e.Item.ItemIndex]; 
    SqlDataSource1.DeleteParameters["BrandID"].DefaultValue = id; 
    SqlDataSource1.Delete(); 
} 

我想我已喜欢的网站,但我得到和错误称为“无法将源类型'int'转换为目标类型'字符串'”

我的BrandID是和int。 你能帮我,并显示我如何转换它。

回答

1

DefaultValue是一个字符串。你可以简单地做到这一点:

SqlDataSource1.DeleteParameters["BrandID"].DefaultValue = 
    Datalist1.DataKeys[e.Item.ItemIndex].ToString(); 
+0

谢谢你做的工作! :d – user1267197 2012-03-13 18:39:56