【发布时间】:2016-03-02 19:49:43
【问题描述】:
我想停止在我的代码中到处使用 EVAL 并将其从所有中继器中删除。我正在从事的项目是 .NET 3.5。
我有这门课
Public Class person
Public Name As String
Public Age As String
End Class
我正在使用共享函数创建List(of person)。
我有一个转发器,我将List(of person) 绑定到它。
我在转发器的 ItemTemplate 部分中有这段代码:
<ItemTemplate>
<tr>
<td><%# DirectCast(Container.DataItem, person).Name %></td>
<td><%# DirectCast(Container.DataItem, person).Age %></td>
</tr>
</ItemTemplate>
当我尝试运行我的代码时,它给了我这个错误消息:
System.InvalidCastException was unhandled by user code
Message=Unable to cast object of type 'person' to type 'person'.
Source=App_Web_2uam_1hy
StackTrace:
at ASP.test_aspx.__DataBind__control4(Object sender, EventArgs e) in c:\users\test\documents\visual studio 2013\Projects\test.aspx:line 152
at System.Web.UI.Control.OnDataBinding(EventArgs e)
at System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding)
at System.Web.UI.Control.DataBind()
at System.Web.UI.Control.DataBindChildren()
InnerException:
为什么我不能将其投射到自身?我有点难过,因为我可以在网上找到的所有示例都是针对 c# 的。我敢肯定,我错过了一些简单的事情,但我终其一生都无法弄清楚。
谢谢。
【问题讨论】:
标签: c# asp.net .net vb.net eval