저는 Microsoft가 하루 만에 기대하는 방식으로 작동하도록 FormView를 얻는 데 어려움을 겪었습니다.Insert Method가 실행 된 후 FormView가 사용자가 입력 한 값을 지우지 않게하려면 어떻게합니까?
ObjectDataSource.Inserting 이벤트 처리기에서 e.Exception 및 e.ReturnValue를 catch 할 수 있으며 e.ObjectInstance ... 및 Even를 검사하여 ObjectDataSource.ObjectDisposing에서 Object의 다른 속성을 속일 수 있습니다. FormView의 삽입 처리기가 ObjectDisposing 처리기 이후에 실행된다는 것을 알았습니다. 문제가 발견 된 경우에도 여전히 응답하고 FormView에서 e.KeepInInsertMode를 true로 처리 할 시간이있었습니다.
내 문제는 삽입 양식에 사용자가 입력 한 값이 관계없이 지워진 것입니다.
그렇다면 삽입 메서드가 실행 된 후 FormView가 지워지지 않게하려면 어떻게합니까?
은 (ASP.NET + VB를 사용)그래서 내가 '... 정말 내가 기밀 비즈니스 로직 물건을 트림을 수정하는 것이 훨씬 좋은 것 할 것입니다 여기에 내 코드를 게시 생각하지 않는다 지금은 건너 뛸거야.
편집 : 나는 (아무도 문제에 대한 진정한 해결책을 찾지 경우) 임시 및 인정 하듯이 몹시 cludgy 솔루션을 발견
. 내가 컨트롤하는 것이 같은 것을에서이 다음
Dim eInsertArgs As FormViewInsertedEventArgs
그리고 나는 각 컨트롤에
If boolInsertErrorOccurred = False Then
e.KeepInInsertMode = True
eInsertArgs = e
Else
eInsertArgs = Nothing
End If
그럼 내 ItemInserted 핸들러에서 다음을 수행하십시오
나는 같은 페이지 변수가 정의되어 데이터 바인딩 이벤트 :
If IsNothing(eInsertArgs) = False Then
Dim _sender As TextBox = sender
_sender.Text = eInsertArgs.Values("_FieldName")
End If
이 효과는 값을 설정하는 것입니다. ASP.NET은 FormView를 기본 (빈) 템플릿에 바인딩 한 후 제출 된 값으로 되돌립니다.
덜 끔찍한 해결책을 찾도록 도와주세요. :)
당신이 답변으로 솔루션으로 편집을 제출해야합니다. –