2014-12-08 5 views
0

해당 단계에서 선행해야하는 모든 계산 (코드 실행)이 완료되지 않기 때문에 아래 코드는 NavigateUrl 속성을 채우지 않습니다. LINQ 쿼리와 관련 될 수 있습니다.코드를 한 번에 한 단계 씩 실행

이것은 .NET 3.5이므로 작업을 사용할 수 없습니다.

다음 단계로 넘어 가기 전에 각 단계를 완료하고 싶습니다. 이러한 모든 단계가 완료되기를 기다리기 전에 페이지 제출이 완료된 것으로 보입니다. 대신 ado.net을 사용하여 데이터를 가져와야합니까? 데이터 검색이 더 빠르며이 문제를 피할 수 있습니까?

int JobID = new SLICDataContext() 
    .JobRequests 
    .Where(x => x.JobRequestID == JobRequestID) 
    .Select(x => x.JobID.GetValueOrDefault(0)) 
    .Single(); 

int reactiveJobId = new SLICDataContext() 
    .Jobs 
    .Where(x => x.JobID == JobID) 
    .Select(x => x.ReactiveJobID.GetValueOrDefault(0)) 
    .Single(); 

lnkDocument.NavigateUrl = string.Format("/HeadOffice/ReactiveJobs/DocumentsUpload.aspx?ReactiveJobID={0}", reactiveJobId); 
+2

여기에 비동기가 표시되지 않습니다. 작업 ID가 설정되지 않았습니까? 디버거에서 한 줄씩 코드를 단계별로 실행하고 어떤 일이 일어나는지 살펴 봅니다. – mason

+0

실제로 작업 id 대신에 reactjobid 여야합니다. 하지만 줄 바꿈을 통해 코드를 실행하면 모든 변수가 올바르게 채워집니다. 하지만 내가 휴식 시간을 제거하면 위의 값을 포함하는 navigateurl이 팝업 창이 나타날 것으로 예상됩니다. –

+1

그래서 문제는 실행 순서와 관련이 없습니다. 하지만 오히려 당신의 팝업과 함께 일부 문제. 문제가 어디에서 발생했는지 알 수 있도록 항상 문제를 격리해야합니다. – mason

답변

0

이 동작이 다릅니 까?

인구가 reactiveJobId 인 이유도 분명하지 않습니다. 당신은 당신의 문자열 형식으로 그것을 사용하지 않는다. 그리고 어떤 의미있는 부작용이있는 것처럼 보이지 않는다.

using (var db = new SLICDataContext()) 
{ 
    int JobID = db 
    .JobRequests 
    .Single(x => x.JobRequestID == JobRequestID) 
    .JobID.GetValueOrDefault(0); 

    int reactiveJobId = db 
    .Jobs 
    .Single(x => x.JobID == JobID) 
    .ReactiveJobID.GetValueOrDefault(0); 

    lnkDocument.NavigateUrl = 
     string.Format("/HeadOffice/ReactiveJobs/DocumentsUpload.aspx?ReactiveJobID={0}", 
        JobID); 

} 
+0

나는 대신 reactjobid를 사용하기 위해 업데이트 된 질문을 반영하려고했다. –

+0

'.Single'은'.Select'를 호출 할 수없는 단일 JobRequest를 리턴하지 않을까요? 나는 이것이 컴파일되지 않을 것이라고 생각하고있다. –

+0

컴파일 된 SingleOrDefault()를 사용했지만 reactjobid 변수가 중단 점으로 채워지는 경우에만 이상하게 페이지를 다른 페이지로 옮기고 해당 페이지에서 reactivejobid를 가져 오십시오. –

관련 문제