我有一个带有 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 也不会这样做,有没有办法增强代码?
谢谢您的帮助。