我有一个带有 gridview 的表单,当从 GV 中选择一条记录时,它会调用另一个页面 details.aspx,详细信息页面有一个带有 FormView 的表单,使用 SelectMethod="GetData" 来显示所选 id 记录的数据,如下所示:
公共函数 GetData(ByVal id?As Integer) As Ems_Candidate 尝试 // 将记录 id 存储在 memVar 中,以便在检索图像时使用它 strRecNo = id.ToString 调用 LoadCandidateImage() 返回 _db.DbSet_Candidates.Find(id) 抓住前任作为例外 ModelState.AddModelError("ModelError", ex.Message.ToString) 返回 1 结束尝试 结束功能
在绑定到 FormView 的数据的同时,我必须在标签中显示来自该记录但在 FormView 模型之外的一些数据,我已将上述方法更新为以下内容:
公共函数 GetData(ByVal id?As Integer) As Ems_Candidate 尝试 // 将记录 id 存储在 memVar 中,以便在检索图像时使用它 strRecNo = id.ToString 调用 LoadCandidateImage() // 开始:添加新行 Dim objQuery As IQueryable(Of Ems_Candidate) = _ 从 c 中的 _db.DbSet_Candidates 其中 c.CandidateID = id 选择 c 对于objQuery中的每个c 如果 c.CandidateStatus.Equals("A") 那么 Me.lblCandidateStatus.Text = "活动" ElseIf c.CandidateStatus.Equals("D") Then Me.lblCandidateStatus.Text = "已删除" ElseIf c.CandidateStatus.Equals("W") Then Me.lblCandidateStatus.Text = "放弃" 别的 Me.lblCandidateStatus.Text = "不适用" 万一 下一个 // 结束:添加新行 返回 _db.DbSet_Candidates.Find(id) 抓住前任作为例外 ModelState.AddModelError("ModelError", ex.Message.ToString) 返回 1 结束尝试 结束功能
在返回数据之前,我必须再次以 IQueryable 的形式查询数据库,以便能够选择所需的数据。
我认为这种方式在同一个地方两次访问数据库是不切实际的,即使我使用 Ado.Net 也不会这样做,有没有办法增强代码?
谢谢您的帮助。