我认为我需要将一些ConvertEmptyStringToNull
属性设置为false以消除将已经设置为空字符串的字段转换为空值的脑死UpdateModel
行为,这会导致我的数据库更新失败,但我无法在DevExpress MVC Gridview中的任何地方找到这个属性。有谁知道如何找到它?
我已经尝试在Application_Start
中覆盖以下内容ModelBinders.Binders.DefaultBinder = new DevExpress.Web.Mvc.DevExpressEditorsBinder();
并设置
bindingContext.ModelMetadata.ConvertEmptyStringToNull = false;
但那不起作用。
感谢您的任何想法!
答案 0 :(得分: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;
}
}
};