Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.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
C# GrdiView需要1个DataKeyName用于1个方法,2个DataKeyName用于另一个方法_C#_Asp.net_Gridview - Fatal编程技术网

C# GrdiView需要1个DataKeyName用于1个方法,2个DataKeyName用于另一个方法

C# GrdiView需要1个DataKeyName用于1个方法,2个DataKeyName用于另一个方法,c#,asp.net,gridview,C#,Asp.net,Gridview,嗨,我的GridView有问题。我有一个方法需要两个DataKeyName,然后还有一个方法需要一个DataKeyName。我不知道该怎么处理?谁能告诉我该怎么办?我将在下面发布我的GridView代码。如果需要其他代码,请告诉我。谢谢 <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="ObjectDataSource1" DataKeyNames="intEx

嗨,我的GridView有问题。我有一个方法需要两个DataKeyName,然后还有一个方法需要一个DataKeyName。我不知道该怎么处理?谁能告诉我该怎么办?我将在下面发布我的GridView代码。如果需要其他代码,请告诉我。谢谢

    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="ObjectDataSource1" DataKeyNames="intExaminerID,sintDOLDistrictOfficeID" OnRowCommand="GridView1_RowCommand">
        <Columns>            
            <asp:TemplateField>                
                <ItemTemplate>                 
                    <asp:TextBox ID="txtID" Visible="false" runat="server" Text='<%# Bind("intExaminerID") %>'></asp:TextBox>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField>
                <ItemTemplate>
                    <asp:TextBox ID="txtDOID"  Visible="false" runat="server" Text='<%# Bind("sintDOLDistrictOfficeID") %>'></asp:TextBox>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="First Name">                
                <ItemTemplate>
                    <asp:TextBox ID="txtFName" Visible='<%# IsInEditMode %>' runat="server" Text='<%# Bind("vcharFirstName") %>'></asp:TextBox>
                </ItemTemplate>
            </asp:TemplateField>  
            <asp:TemplateField HeaderText="Last Name">
                <ItemTemplate>
                    <asp:TextBox ID="txtLName" Visible='<%# IsInEditMode %>' runat="server" Text='<%# Bind("vcharLastName") %>'></asp:TextBox>
                </ItemTemplate>
            </asp:TemplateField>  
            <asp:TemplateField HeaderText="Email">
                <ItemTemplate>
                    <asp:TextBox ID="txtEmail" Visible='<%# IsInEditMode %>' runat="server" Text='<%# Bind("vcharEmailAddress") %>'></asp:TextBox>
                </ItemTemplate>
            </asp:TemplateField> 
            <asp:TemplateField HeaderText="Extension">
                <ItemTemplate>
                    <asp:TextBox ID="txtPhone" Visible='<%# IsInEditMode %>' runat="server" Text='<%# Bind("vcharPhoneExtension") %>'></asp:TextBox>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="SSN Block">
                <ItemTemplate>
                    <asp:TextBox ID="txtSSNStart" Visible='<%# IsInEditMode %>' runat="server" Text='<%# Bind("vcharSSNBlockStart") %>' Width="5em"></asp:TextBox>
                    <asp:TextBox ID="txtSSNEnd" Visible='<%# IsInEditMode %>' runat="server" Text='<%# Bind("vcharSSNBlockEnd") %>' Width="5em"></asp:TextBox>
                </ItemTemplate>
            </asp:TemplateField> 
            <asp:TemplateField HeaderText="Action(s)">
                <ItemTemplate>
                    <asp:Button ID="btnUpdate" runat="server" Text="Update" CommandName="Update" CommandArgument='<%# Container.DataItemIndex %>'
 />
                    <%--<asp:Button ID="btnUpdate" runat="server" Text="Update" OnClick="UpdateRow" />--%>
                    <asp:Button ID="btnDelete" runat="server" Text="Delete" CommandName="Delete" CommandArgument='<%# Container.DataItemIndex %>'
 />
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>

问题可能是您想使用密钥的方法有点不清楚,但您可以使用它们的名称来获取密钥,如:

//rowindex is the index of the row you want to get the keys for
string intExaminerID= GridView1.DataKeys[rowindex].Values["intExaminerID"].ToString();
string sintDOLDistrictOfficeID= GridView1.DataKeys[rowindex].Values["sintDOLDistrictOfficeID"].ToString();