以下代码不会填充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 );
答案 0 :(得分: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);
}