在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