嗨,我是这个系统的新手,请温柔地对待我。我现在遇到的问题是无法通过Eval从ASPX调用类文件。类文件位于“〜/ classes”文件夹中。请提供方法和方法来规避这个错误,甚至解决它,谢谢!! ^^
编程语言:C#
在中找到问题:.ASPX gridView
在中找到了问题:EstateDBManager类文件
错误消息:DataBinding:'DWAD_Project.classes.Volunteer'不包含名为'EstateDBManager'的属性。
以下部分gridView的代码:
<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 ...
}
}
}
感谢您的回复和帮助!! ^^
回答问题:
GridView :
<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 ...
}
}
}
答案 0 :(得分:2)
Eval用于数据源的属性。如果只需要代码,请不要使用Eval
'<%# EstateDBManager.findEstate(Eval("EstateId")).Name %>'
你必须将Eval结果转换为正确的类型,因为它是对象(例如(int)Eval(“EstateId”))