嗨,我是这个系统的新手,请对我温和一点。我现在遇到的问题是无法通过Eval从ASPX调用类文件。类文件位于"~/classes"文件夹中。请为我提供避免此错误甚至解决此错误的方法和方法,谢谢!!^^
编程语言:C#
在中发现问题:.ASPX网格视图
问题也出现在:EstateDBManager类文件
错误消息:DataBinding:"DWAD_Project.classes.Volunteer"不包含名为"EstateDBManager"的属性
部分网格的代码查看下面的:
<asp:TemplateField HeaderText="Estate Name" SortExpression="EstateId">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Eval("EstateDBManager.findEstate({0}).Name") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("EstateDBManager.findEstate({0}).Name") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
下面的部分EstateDBManager类文件的代码:
namespace DWAD_Project.classes
{
public static class EstateDBManager
{
public static Estate findEstate(int ID)
{
// processes ...
}
}
}
感谢您的回复和帮助!!^^
问题答案:
网格视图:
<asp:TemplateField HeaderText="Estate Name" SortExpression="EstateId">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# DWAD_Project.classes.EstateDBManager.findEstate(Eval("EstateId")).Name %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# DWAD_Project.classes.EstateDBManager.findEstate(Eval("EstateId")).Name %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
类文件:
namespace DWAD_Project.classes
{
public static class EstateDBManager
{
public static Estate findEstate(int ID)
{
// processes ...
}
}
}
Eval用于数据源的属性。如果你只需要代码,不要使用Eval
'<%# EstateDBManager.findEstate(Eval("EstateId")).Name %>'
您只需要将Eval结果转换为正确的类型,因为它是对象(例如(int)Eval("EstateId")