在我的代码隐藏中使用此类填充转发器:
public class Reference
{
public string PageType;
public string Url;
public string Name;
}
这段代码:
var NewReference = new Reference();
NewReference.Name = "Hello World"
TheList.Add(NewReference);
TheRepeater.DataSource = TheList;
TheRepeater.DataBind();
如何获取"名称"," PageType"和" Url"在webform中?
我试过了:
<%# Eval("Name") %>
没有运气......
答案 0 :(得分:0)
作为第一步 - 确保填写DataSource
的代码执行(只是放置一个断点)。
尝试将其放入标签
<asp:Label runat="server">
<%# Eval("Name") %>
</asp:Label>
如果需要,您还可以添加更多格式
<asp:Label runat="server">
<%# String.Format("Name = {0}", Eval("Name")) %>
</asp:Label>
有关详细信息,请参阅MSDN Data-Binding Expressions Overview
答案 1 :(得分:0)
你可以尝试
<%# Container.DataItem.Name %>
其中“Name”是您引用的对象中的参数。这是假设您在转发器本身中列出它。
答案 2 :(得分:0)
如果您要处理ItemDataBound事件,
您可以将dataitem转换为类型参考,然后访问您的属性
var myItem = e.Item.DataItem as Reference;
var youAreLookingFor1 = myItem.Name;
var youAreLookingFor2 = myItem.Url;
var youAreLookingFor3 = myItem.PageType;
否则你可以在设计师
上访问它更新!!!!
<%# DataBinder.Eval(e.Item.DataItem, "Name") %>
你也应该可以使用
<%# Eval("propertyName") %>
希望有所帮助。