在FieldTemplates/Text_Edit.ascx.cs改变字符串的行为,首先删除 验证器,因为它们阻止提交表单:
protected void Page_Load(object sender, EventArgs e) {
TextBox1.MaxLength = Column.MaxLength;
if (Column.MaxLength < 20)
TextBox1.Columns = Column.MaxLength;
TextBox1.ToolTip = Column.Description;
if (Column.IsString)
{
this.Controls.Remove(RequiredFieldValidator1);
this.Controls.Remove(RegularExpressionValidator1);
this.Controls.Remove(DynamicValidator1);
}
else
{
SetUpValidator(RequiredFieldValidator1);
SetUpValidator(RegularExpressionValidator1);
SetUpValidator(DynamicValidator1);
}
}
的一段代码,其将空字符串为NULL是在ConvertEditedValue方法的地方,所以跳过这个字符串:
protected override void ExtractValues(IOrderedDictionary dictionary)
{
if (Column.IsString)
{
dictionary[Column.Name] = TextBox1.Text;
}
else
{
dictionary[Column.Name] = ConvertEditedValue(TextBox1.Text);
}
}
现在,您可以更新与空字符串表,当然,现在的问题是你ç所有varchar字段的一组空字符串不仅具有默认值。
我没有看到Linq to SQL或EF数据模型中的任何地方,我可以找到有关我的SQL Server默认值的信息。有一个属性DefaultValue,但它始终为NULL。
的动态网站使用它自己生成的SQL,所以我没有任何控制权,或者我呢? – 2012-02-15 11:26:53
对不起 - LINQ2SQL - 我无法帮到那里!我应该更仔细地阅读这个问题:( – CompanyDroneFromSector7G 2012-02-15 11:32:38