繁体   English   中英

一次执行代码

[英]Execute code one step at a time

下面的代码不会填充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);

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM