[英]RadListView databinding with entity framework - insert/update/delete
我正在尝试创建一个ASP.NET页,以允许使用实体框架进行基本的CRUD操作。 使用Telerik的RadListView,我有以下HTML:
<telerik:RadListView ID="RadListView1" runat="server" OnNeedDataSource="RadListView1_NeedDataSource">
<ItemTemplate>
<table>
<tr>
<td>First Name:
<%#Eval("FirstName")%>
</td>
</tr>
<tr>
<td>
<asp:Button ID="btnEdit" runat="server" Text="Edit" CommandName="Edit" Width="70px"></asp:Button>
</td>
</tr>
</table>
</ItemTemplate>
<EditItemTemplate>
<table>
<tr>
<td>First Name:
<asp:TextBox ID="txtFirstName" runat="server" Text='<%#Bind("FirstName")%>'></asp:TextBox>
</td>
</tr>
<tr>
<td>
<asp:Button ID="btnUpdate" runat="server" Text="Update" CommandName="Update" Width="70px"></asp:Button>
</td>
</tr>
</table>
</EditItemTemplate>
这是后面的代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
RadListView1.DataSource = GetData();
}
}
protected void RadListView1_NeedDataSource(object sender, Telerik.Web.UI.RadListViewNeedDataSourceEventArgs e)
{
RadListView1.DataSource = GetData();
}
private List<Person> GetData()
{
using (BuildingAccessEntities ctx = new BuildingAccessEntities())
{
var query = from a in ctx.People
orderby a.FirstName
select a;
return query.ToList();
}
}
到目前为止,此代码正确显示了填充的RadListView。 当我单击“编辑”按钮时,RadListView切换到“编辑”模式,并允许我编辑选定的记录。 但是,当我单击“更新”按钮以保存记录时,更改不会保存。
我尚未尝试查看插入和删除是否以相同的方式运行。
我确定使用RadListView进行2向绑定应该非常简单,但是我对此并不陌生,除了使用数据源控件(SqlDataSource,EntityDataSource等)之外,找不到很多示例来实现此功能。 )。
任何协助将不胜感激!
编辑:如果有更好的方法使用Entity Framework进行2路数据绑定,我也很乐意听到这些建议。 我目前尚未尝试使用当前的方式,只是想知道执行此操作的最佳方法。
这样做实际上很容易。 在此处查看Telerik演示如何处理手动CRUD命令。
重点是RadListView2_ItemUpdating
,这是您要使用的内容。 只要您知道更新可以顺利进行,就可以在那里完成。 问题将是它是否失败,从而导致您在数据源中有用于列表视图的一组数据以及在数据库中的另一组数据。
实际取决于您自己处理此问题,因为您可以从数据库中重新加载数据以确保用户看到实际的内容,或者可以警告他们错误以提交帮助通知单。 你明白了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.