【发布时间】:2010-04-20 06:51:22
【问题描述】:
我有我的中继器项目模板:
<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 转换为整数,因为在数据库中它是一个字符串。
你能告诉我如何避免这个错误吗?谢谢。
编辑:
如果我尝试<%#Container.DataItem("URL")%>,也会出现同样的错误
【问题讨论】:
-
这里需要完整的代码示例,包括 SQL 字符串。
-
是的,你认为有效的可能是无效的,这就是你在这里的原因,对吧? ;-) 发布转发器的 sql 和标记。
标签: asp.net string types integer