[英]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.