我有一个对象,其中包含一个名为 DevList 的字段,其定义如下
public List<string> DevList { get; set; }
我还定义了一个名为 DisplayListOfDevelopers 的方法,该方法应该连接开发人员列表并将其显示为一个字符串。
这就是我从aspx调用方法的方法。
<asp:TemplateField HeaderText = "Developer(s)">
<ItemTemplate>
<asp:Label
ID="_lblDevList"
runat="server"
Text= '<%# DisplayListOfDevelopers(DevList) %>'>
</asp:Label>
</ItemTemplate>
</asp:TemplateField>
但是,我收到了这个错误:当前上下文中不存在名称'DevList'
我错过了什么吗?
_gvStatus = ds;
_gvStatus.DataBind();
其中ds只是一个包含 DevList 的对象列表。
感谢您的帮助
答案 0 :(得分:13)
假设这是你班级的样子:
public class MyItem
{
public List<string> DevList { get; set; }
}
那个
ds = List<MyItem>();
这样做:
在您的代码隐藏中:
protected string DisplayListOfDevelopers(object _devList)
{
//Cast your dev list into the correct object
}
在你的标记中:
<asp:TemplateField HeaderText = "Developer(s)">
<ItemTemplate>
<asp:Label
ID="_lblDevList"
runat="server"
Text= '<%# DisplayListOfDevelopers(Eval("DevList")) %>'>
</asp:Label>
</ItemTemplate>
</asp:TemplateField>
请务必使代码隐藏中的功能受到保护或公开。