一次执行一个步骤的代码
本文关键字:代码 执行 一次 一个 | 更新日期: 2023-09-27 18:33:28
下面的代码不会填充 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 );
这行为是否不同?
目前还不清楚为什么会出现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);
}