2013-03-11 165 views
1

我發佈在AdxStudio論壇上,並得到了完全零響應,所以我希望你們能幫助我調試這個。AdxStudio CrmEntityFormView吞嚥Microsoft.Xrm.Sdk.SaveChangesException

我使用CrmEntityFormView創造CRM新的聯繫人,就像這樣:

<adx:CrmDataSource ID="FormViewDataSource" runat="server" /> 
    <adx:CrmEntityFormView runat="server" ID="UserCreateForm" EntityName="contact" FormName="User Edit Form" DataSourceID="FormViewDataSource" 
     RecommendedFieldsRequired="true" ValidationGroup="NewUser" ValidationText="* This field is required" EnableValidationSummaryLinks="false" 
     OnItemInserting="UserCreateForm_ItemInserting" OnItemInserted="UserCreateForm_ItemInserted"> 
     <InsertItemTemplate></InsertItemTemplate> 
</adx:CrmEntityFormView> 

<asp:Button ID="SubmitButton" Text='Create User' CssClass="button" ValidationGroup="NewUser" runat="server" OnClick="SubmitButton_Click" /> 

我使用SubmitButton_Click處理程序在同一時間,像這樣來處理表格上其他一些領域:

protected void SubmitButton_Click(object sender, EventArgs e) 
{ 
    if (!Page.IsValid) 
     { 
      return; 
     } 

    # Handle other form fields not on the FormView ... 
    UserCreateForm.InsertItem(); 
} 

當我提交一個有效的表單時,在我的數據庫中沒有任何反應。所以我調試的ItemInserted事件,把一個斷點處理程序

protected void UserCreateForm_ItemInserted(object sender, CrmEntityFormViewInsertedEventArgs e) 
    { 
     Contact newUser = XrmContext.ContactSet.Where(c => c.ContactId == e.EntityId).FirstOrDefault(); 
    } 

原來的單行線,在這種情況下,e.Exception不爲空,但是從標題SaveChangesException的實例,與消息「處理此請求時發生錯誤。」和e.ExceptionHandled == true,我想這就是爲什麼我從來沒有看到任何東西。

此異常具有的InnerException的System.ServiceModel.FaultException<Microsoft.Xrm.Sdk.OrganizationServiceFault>

與始終只包含FormView控件的第一個字段的值提交的消息的實例。我完全不知道爲什麼這不起作用,我不清楚如何進一步調試,並可以使用一些指針。

回答

1

System.ServiceModel.FaultException<Microsoft.Xrm.Sdk.OrganizationServiceFault>吃掉堆棧跟蹤。參考this blog作爲實際記錄堆棧跟蹤的方法,以便能夠找到發生錯誤的位置。