作者:swaimprichett_556 | 来源:互联网 | 2022-12-07 20:32
我试图[BindProperty]
在asp.net核心剃须刀页面中使用批注以便绑定Ilist
我的一个模型类的集合,以便我可以一次编辑其中一些模型类,但是每次在OnPostAsync函数中它都不起作用,集合为空,并且我对数据及其默认值所做的更改都不会回发到服务器,但是当它的singel对象[BindProperty]正常工作并且值回发并可以更改时,我也尝试包装一个集合(即list
)在一个对象中,但无论哪种方法都没有用,所以有什么办法可以这样做,或者我应该说对那个集合中的每个对象发送编辑请求,然后一个一个地对其进行编辑(不能在剃须刀页面easilly和需要一些ajax电话)?
1> Tao Zhou..:
对于和IList
之间的绑定,您将需要使用bind属性。 RazorPage
PageModel
Product[i].Name
这是完整的步骤。
模型
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
}
页面模型
public class IndexModel : PageModel
{
private readonly CoreRazor.Data.ApplicationDbContext _context;
public IndexModel(CoreRazor.Data.ApplicationDbContext context)
{
_cOntext= context;
}
[BindProperty]
public IList Product { get; set; }
public async Task OnGetAsync()
{
Product = await _context.Product.ToListAsync();
}
public async Task OnPostAsync()
{
var product = Product;
}
}
视图
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
}