我的WebForms页面上有一个GridView问题。我希望也许你可以帮助我。
我有一个由LinqDataSource通过实体框架绑定到SQL Server视图的网格。 View基本上聚合了其中一个表的数据。在我的页面上,我允许对该表进行一些更改,我在不同的上下文中使用Entity Framework进行更新。问题是在PostBack之后我总是看到之前编辑的变化。
例如: 我有价值“马修”的实体。 我编辑为“约翰” - > postback =>我看到“马修”。 我编辑为“Mick” - > postback =>我看到“约翰”。
我尝试禁用网格的视图状态和行缓存 - 但没有成功。
我很感激任何建议。
谢谢!
<p>
<asp:LinqDataSource ID="LinqDataSource1" runat="server" ContextTypeName="WebApplication2.Database1Entities" EntityTypeName="" TableName="Clients">
</asp:LinqDataSource>
<dx:ASPxGridView ID="ASPxGridView1" runat="server" AutoGenerateColumns="False" DataSourceID="LinqDataSource1" KeyFieldName="id" EnableRowsCache="False">
<Columns>
<dx:GridViewDataTextColumn FieldName="id" VisibleIndex="0">
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="name" VisibleIndex="1">
</dx:GridViewDataTextColumn>
</Columns>
</dx:ASPxGridView>
</p>
<p>
<dx:ASPxTextBox ID="ASPxTextBox1" runat="server" Width="170px">
</dx:ASPxTextBox>
<dx:ASPxButton ID="ASPxButton1" runat="server" Text="ASPxButton" OnClick="ASPxButton1_Click">
</dx:ASPxButton>
</p>
protected void ASPxButton1_Click(object sender, EventArgs e)
{
var ent = new Database1Entities();
var itemToUpdate = ent.Clients.FirstOrDefault(p => p.id == 1);
itemToUpdate.name = ASPxTextBox1.Text;
ent.SaveChanges();
}
答案 0 :(得分:0)
马修,
我建议您使用ASPxGridView的编辑事件。看一下这个例子:
这是Code Central示例,因此您可以下载整个解决方案并在本地运行:
如果仍然没有帮助,请联系DevExpress支持团队,他们可以帮助您: DevExpress Support