DotVVM-GridView绑定
我在DotVVM中绑定GridView时遇到问题。我从EF Core加载数据,填充GridViewDataSet属性,并将该属性绑定到GridView。在GridView下面,我有一个用于向表中添加新行的表单。当我加载页面时,它确实正确绑定。它显示了它应该显示的所有行,但是当我使用表单添加新行时,它不会刷新GridView中的数据。调用了回发,我在chrome的开发者工具中看到了它。它甚至可以正确发送viewModelDiff,但不会刷新UI。我错过了什么 dothtml:DotVVM-GridView绑定,gridview,binding,dotvvm,Gridview,Binding,Dotvvm,我在DotVVM中绑定GridView时遇到问题。我从EF Core加载数据,填充GridViewDataSet属性,并将该属性绑定到GridView。在GridView下面,我有一个用于向表中添加新行的表单。当我加载页面时,它确实正确绑定。它显示了它应该显示的所有行,但是当我使用表单添加新行时,它不会刷新GridView中的数据。调用了回发,我在chrome的开发者工具中看到了它。它甚至可以正确发送viewModelDiff,但不会刷新UI。我错过了什么 dothtml: &l
<dot:GridView DataSource="{value: Stables}" class="table table-responsive-sm table-sm" ShowHeaderWhenNoData="true">
<Columns>
<dot:GridViewTextColumn ValueBinding="{value: Id}" HeaderText="ID" />
<dot:GridViewTextColumn ValueBinding="{value: Name}" HeaderText="Name" />
</Columns>
</dot:GridView>
视图模型:
public GridViewDataSet<Stable> Stables { get; set; } = new GridViewDataSet<Stable>() { PagingOptions = { PageSize = 4 } };
public override Task PreRender()
{
LoadStables();
return base.PreRender();
}
public void LoadStables()
{
if (Stables.IsRefreshRequired)
{
Stables.LoadFromQueryable(_ctx.Stables);
}
}
public void AddStable()
{
_ctx.Stables.Add(new Stable()
{
Id = StableId,
Name = StableName
});
_ctx.SaveChanges();
Stables.RequestRefresh();
}
公共GridViewDataSet稳定{get;set;}=new GridViewDataSet(){PagingOptions={PageSize=4};
公共覆盖任务预呈现()
{
负载稳定();
返回base.PreRender();
}
公共马厩()
{
如果(需要马厩)
{
Stables.LoadFromQueryable(_ctx.Stables);
}
}
public void AddStable()
{
_ctx.Stables.Add(新的Stable()
{
Id=StableId,
Name=StableName
});
_ctx.SaveChanges();
Stables.RequestRefresh();
}
我正在使用DotVVM.AspNetCore 2.0.2我正在尝试将CoreUI boostrap模板与DotVVM一起使用。但是有一些javascript文件阻止DotVVM更新UI。在控制台中,它显示了一些错误。我已尝试重现该问题,但在我的情况下,它适用于。我能想到它不起作用的几个原因:1。已为GridView或其某些父级打开服务器渲染。GridView以HTML呈现其所有行,并且在服务器呈现模式下无法在回发上添加新行。2.有一些JavaScript错误阻止页面更新-请查看Dev Tools控制台选项卡。3.数据集的页面大小为4-可能新项目就在另一个页面上。