0

我想我需要将一些ConvertEmptyStringToNull属性设置为 false 以摆脱UpdateModel将已经设置为空字符串的字段转换为空值的脑死行为,这会导致我的数据库更新失败,但我在任何地方都找不到这个属性DevExpress MVC 网格视图。有谁知道如何找到它?

我已经尝试在 Application_Start 中覆盖以下内容

ModelBinders.Binders.DefaultBinder = new DevExpress.Web.Mvc.DevExpressEditorsBinder();

和设置

bindingContext.ModelMetadata.ConvertEmptyStringToNull = false;

那里,但没有奏效。

感谢您的任何想法!

4

1 回答 1

0

对于我的目的,以下工作正常,因为我至少不必单独设置每个此类属性,但强烈认为默认情况下不应更改用户数据。我向 DevExpress 的人们提出了建议,应该有更简单的方法来覆盖字段、网格和全局级别的这种行为。这是我的临时解决方案:

    settings.DataBound = (sender, e) =>
    {
        // turn off brain dead conversion of user data empty strings to null
        var lGrid = sender as MVCxGridView;
        foreach (var lCol in lGrid.Columns)
        {
            if (lCol is GridViewDataColumn)
            {
                GridViewDataColumn lDataCol = lCol as GridViewDataColumn;
                TextBoxProperties tb = lDataCol.PropertiesEdit as TextBoxProperties;
                if (tb != null)
                    tb.ConvertEmptyStringToNull = false;
            }
        }
    };
于 2013-08-20T04:00:52.680 回答