2014-01-22 75 views
0

我有一個linqdatasource的asp.net頁面,它使用OnUpdating方法。ASP.NET LinqDataSource「OnUpdating」方法不更新值爲空

OnUpdating="Entity_OnUpdating" 

在後臺代碼:

protected void Entity_OnUpdating(object sender, LinqDataSourceUpdateEventArgs e) 
{ 
    MyClass objEntity = (MyClass)e.NewObject; 
    if (expression) 
     MyClass.InfoID = Guid.NewGuid(); 
    else 
     MyClass.InfoID = null; 
} 

如果expression是假的,MyClass.InfoID不是空更新之前,MyClass.InfoID不變化爲null。

UPD: MyClass有兩個字段: 1)ID - 主鍵, 2)InfoID - 可爲空的外鍵。

你知道嗎,它爲什麼這樣工作?

回答

0

你的MyClass對象是什麼樣的?沒有看對象,我可以猜測屬性「ID」被列爲主鍵,外鍵,或者根本不允許爲空。

+0

我做了一些更新,以澄清MyClass對象。 – KopBuH

0

我認爲InfoID屬性的類型是Guid這是不能爲空,所以當你試圖給它分配一個空值時,它不接受。

InfoID財產的類型更改爲Nullable<Guid>它會工作。