C# .Net核心模型与支持字段绑定不起作用
我有一个带有属性和支持字段的类C# .Net核心模型与支持字段绑定不起作用,c#,asp.net-core,model-binding,C#,Asp.net Core,Model Binding,我有一个带有属性和支持字段的类 public class Tile { private string _ids; public List<int> IdsList { get { return _ids.Split(',').Select(int.Parse).ToList(); } set { _ids = string.Join
public class Tile
{
private string _ids;
public List<int> IdsList
{
get
{
return _ids.Split(',').Select(int.Parse).ToList();
}
set
{
_ids = string.Join(",", value);
}
}
}
我使用Axios处理ajax请求
axios.post(UpdateTileUrl, tile)
.then(res => {
//
})
.catch(e => {
//
})
您的代码中有一个bug。控制器acton引发空引用异常。如果你想使用Tile类,你必须修复它。此代码已在VisualStudio中测试,并且工作正常
private string _ids;
public List<int> IdsList
{
get
{
if( !string.IsNullOrEmpty(_ids))
return _ids.Split(',').Select(int.Parse).ToList();
return null;
}
set
{
if(value!=null)
_ids = string.Join(",", value);
else _ids=null;
}
}
请至少展示一下你的ajax代码好吗?。还有一个问题,controller和ajax是非常基本和简单的。谢谢,但是你能展示一下你是如何为ajax创建tile的吗?基本上我只是从我第一次得到的后端获取对象,更新IdsList数组。平铺就像对象一样{idsList:[1,5,6]}我需要看看您是如何创建它的。另外,我得猜猜。请看班级签名!控制器操作接受的不是list,而是一个属性为list的类。此外,问题不在于如何发送,而在于模型绑定器如何与支持字段和自定义getter/setter一起工作,因为如果我从类中删除支持字段ID,一切都会正常工作expected@MantasČekanauskas但您正在ajax中发布列表{idsList:[1,5,6]}-这不是一个具有属性idsList的对象吗?这不是列表吗?你应该试试我的建议。如果它仍然不起作用,请告诉我。我只会复制/粘贴第一条注释:此外,问题不在于如何发送,而在于model binder如何与支持字段和自定义getter/setter一起工作,因为如果我从类中删除支持字段ID,一切都会按预期工作
private string _ids;
public List<int> IdsList
{
get
{
if( !string.IsNullOrEmpty(_ids))
return _ids.Split(',').Select(int.Parse).ToList();
return null;
}
set
{
if(value!=null)
_ids = string.Join(",", value);
else _ids=null;
}
}