我在尝试获取由实体数据源限制的Web应用程序中的gridview控件的主键时遇到问题。我有一个名为staff的表,此表上有大约25列。该表的主键由两列组成,列为[StaffID]和列[SchoolID]。 我使用entitydatasource控件连接到表。我没有选择我刚刚选择了四列的所有列.Below是entitydatasource控件的标记。
ContextTypeName="DEMOWEBAPPLICATION.PriSecDbEntities" EnableFlattening="False"
AutoGenerateOrderByClause="true"
EntitySetName="Staffs" EntityTypeFilter="Staff"
Select="it.[StaffID], it.[SchoolID], it.[Surname], it.[FirstName]">
<OrderByParameters>
<asp:Parameter
DefaultValue="StaffID" />
</OrderByParameters>
</asp:EntityDataSource>
我将此限制为gridview控件。我的问题是我想要一种情况,当我点击gridview上的一行时,我将能够在不同的文本框控件上显示我员工表中的不同列(例如我将是能够做这样的事情txtSurname.text = newStaff.name等)我将能够编辑和更新它,它将在数据库上更新。我一直在尝试创建一个人员对象,并通过在vb.net中执行此操作来获取主键列 Dim newStaff作为Staff = DirectCast(grdLoadStaffDetails.SelectedPersistedDataKey(“StaffID”),Staff)在gridview selectedindexchanged事件处理程序中,但它会抛出无效的强制转换执行小时。在过去的五个小时里,我一直在拔头发。任何帮助都非常感谢。感谢