我有我的转发器项目模板:
<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")%>
答案 0 :(得分:0)
您确定此代码段是否正确?
<%# Container.DataItem("Category") %>
请改为尝试:
<%# Eval("Category") %>
或(将MyObject更改为您的班级名称)
<%# (Container.DataItem as MyObject).Category %>