使用后备字段时返回null

时间:2019-04-18 10:40:56

标签: c#

我编写此代码以添加到数据库中。

JSON_REMOVE(JSON_REMOVE(`can_see`, JSON_UNQUOTE(JSON_SEARCH(`can_see`, 'one', '5'))), JSON_UNQUOTE(JSON_SEARCH(JSON_REMOVE(`can_see`, JSON_UNQUOTE(JSON_SEARCH(`can_see`, 'one', '5'))), 'one', '68')))

我需要获取具有后备字段的public partial class Unit : UserControl { private ProductUnit _pu { get; set; } public ProductUnit PU { get { _pu.UnitNicname = TxtUnitNicName.Text; _pu.UnitFaName = TxtUnitName.Text; return _pu; } set { } } public Unit() { InitializeComponent(); } private void BtnAdd_Click(object sender, RoutedEventArgs e) { StructureMapDefenation.Container.GetInstance<IUnitService>().Add(_pu); } } 值,但是当我需要在数据库中添加值时,此textbox.text为null。

出什么问题了?

2 个答案:

答案 0 :(得分:1)

您永远不会初始化_pu,它应该是一个字段,而不是一个属性:

private ProductUnit _pu = new ProductUnit();

不过,我不太了解PU属性的用途。

您最好直接在事件处理程序中创建一个ProductUnit

private void BtnAdd_Click(object sender, RoutedEventArgs e)
{
    var pu = new ProductUnit();
    pu.UnitNicname = TxtUnitNicName.Text;
    pu.UnitFaName = TxtUnitName.Text;
    StructureMapDefenation.Container.GetInstance<IUnitService>().Add(pu);
}

答案 1 :(得分:0)

尝试一下:

    public partial class Unit : Form // <--------- Try this
    {
        private ProductUnit _pu= new ProductUnit();
        public ProductUnit PU
        {
            get {return _pu;} // read only
        }

        public Unit()
        {
            InitializeComponent();
        }

        private void BtnAdd_Click(object sender, RoutedEventArgs e)
        {
           _pu.UnitNicname = TxtUnitNicName.Text;
           _pu.UnitFaName = TxtUnitName.Text;
           StructureMapDefenation.Container.GetInstance<IUnitService>().Add(_pu);
        }
    }