Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 获取gridview上的selectedrow主键_Asp.net_Vb.net_Gridview_Entity Framework 4 - Fatal编程技术网

Asp.net 获取gridview上的selectedrow主键

Asp.net 获取gridview上的selectedrow主键,asp.net,vb.net,gridview,entity-framework-4,Asp.net,Vb.net,Gridview,Entity Framework 4,请注意,在由entitydata源绑定的web应用程序中,我在尝试获取gridview控件的主键时遇到问题。我有一个名为staff的表,该表上约有25列。该表的主键由两列组成,即列[StaffID]和列[SchoolID]。 我使用entitydatasource控件连接到表。我没有选择所有列,只是选择了四列。下面是entitydatasource控件的标记。 ContextTypeName="DEMOWEBAPPLICATION.PriSecDbEntities" Enable

请注意,在由entitydata源绑定的web应用程序中,我在尝试获取gridview控件的主键时遇到问题。我有一个名为staff的表,该表上约有25列。该表的主键由两列组成,即列[StaffID]和列[SchoolID]。 我使用entitydatasource控件连接到表。我没有选择所有列,只是选择了四列。下面是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>
ContextTypeName=“DEMOWEBAPPLICATION.PriSecDbEntities”enableFlatting=“False”
AutoGenerateOrderByClause=“true”
EntitySetName=“Staff”EntityTypeFilter=“Staff”
Select=“it.[StaffID],it.[SchoolID],it.[name],it.[FirstName]”>
我将其绑定到一个gridview控件。我的问题是,当我单击gridview上的一行时,我将能够在不同的文本框控件上显示staff表中的不同列(例如,我将能够执行类似以下操作:txtNames.text=newStaff.name等等)我将能够编辑和更新它,它将在数据库上更新。我一直在尝试在vb.net中创建staff对象并获取主键列
        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>

Dim newStaff As Staff=gridview selectedindexchanged事件处理程序中的DirectCast(grdLoadStaffDetails.SelectedPersistedDataKey(“StaffID”),Staff),但它会抛出无效的强制转换执行选项。在过去的五个小时里,我一直在拔头发。非常感谢您的帮助。谢谢

DataKeyNames=“StaffID”与主键列a name绑定

<asp:GridView ID="gvwAllUserInfo" runat="server" 
            AutoGenerateColumns="False" DataKeyNames="StaffID"
                OnRowEditing="GridView_RowEditing" AllowPaging="True"