不寻常的转换错误(字符串到整数)asp.net

时间:2010-04-20 06:51:22

标签: asp.net string types integer

我有我的转发器项目模板:

<asp:Repeater ID="Linksrepeater" runat="server">
<HeaderTemplate><h2>Links</h2><ul>
</HeaderTemplate>
<ItemTemplate>
<li><%#Container.DataItem("Category")%></li>
</ItemTemplate>
<FooterTemplate>
</ul>
</FooterTemplate>
</asp:Repeater>

联系到:

s = "sql"
        x = New SqlCommand(s, c)
        x.Parameters.Add("@contentid", SqlDbType.Int)
        x.Parameters("@contentid").Value = contentid
        c.Open()
        r = x.ExecuteReader
        If r.HasRows Then
            Linksrepeater.DataSource = r
            Linksrepeater.DataBind()
        End If

        c.Close()
        r.Close()

当我运行代码时,我得到了:

  

无效的投射异常未由用户代码处理(转换自   键入“整数”的字符串“category”无效。)

我不确定它是如何/为什么试图将Category转换为整数,就像在db中它是一个字符串一样。

你能告诉我如何避免这个错误吗?感谢。

编辑:

如果我尝试<%#Container.DataItem("URL")%>

,会发生同样的错误

1 个答案:

答案 0 :(得分:0)

您确定此代码段是否正确?

<%# Container.DataItem("Category") %>

请改为尝试:

<%# Eval("Category") %>

或(将MyObject更改为您的班级名称)

<%# (Container.DataItem as MyObject).Category %>