【发布时间】:2013-02-22 00:37:19
【问题描述】:
我们目前在aspx页面中使用asp:Repeater和<%#Eval("SomeField")%>来显示数据。
我们想使用单个记录并将其绑定到 aspx 页面上的 asp.net 控件,以便我们可以<%#Eval("SomeField")%>。
我尝试过FormView、DetailsView 和其他asp.net 控件。所有这些都需要.ToList() 或IEnumerable。但是,我们返回ctx.Jobs.SingleOrDefault(j => j.ID == id);
我们不想使用 asp:Label 或 asp:Literal ..
返回单条记录时页面中的<%#Eval("SomeField")%>怎么办?
演示者
public static Job GetByID(int id) { using (var ctx= new CareersEntities()) { return ctx.Jobs.SingleOrDefault(j => j.ID == id); } }
代码隐藏
protected void Page_Load(object sender, EventArgs e)
{
Job d = new Job();
d = JobPresenter.GetByID(ID);
fvJob.DataSource = d;
fvJob.DataBind();
}
ASPX 页面
<asp:FormView ID="fvJob" runat="server"> <ItemTemplate> <%#Eval("Title")%> </ItemTemplate> </asp:FormView>
【问题讨论】:
-
是否有任何特殊原因排除使用简单标签?如果您只有一条记录,则将其直接绑定到页面。
标签: asp.net data-binding web-controls