0

我有一个带有 6 列 (SAPUserID ,SAPDescription,SAPPassword,OSUserID,OSDescription,OSPassword)和一个CHANGE PASSWORD按钮的 gridview。单击此按钮后pnlChangePwd,网格视图下方的面板 ( ) 变为可见,其中包含 3 个文本框(User ID, New Password, Confirm Password)和一个按钮。Save目前,如果我输入与旧密码相同的新密码,它会接受。如何txtNewPassword在网格视图中将值与 SAPPassword 或 OSPassword 的单元格值进行比较?

注意:根据用户想要的数据(SAP 或 OS),一次只能看到 3 列

网格视图的代码:

<asp:GridView runat="server" ID="gvPassInfo" AutoGenerateColumns="false" 
                          CellPadding="4" ForeColor="#333333" GridLines="Both" DataKeyNames="user_id" 
                          CssClass="Gridview"  OnRowEditing="gvPassInfo_RowEditing"
                          OnRowCommand="gvPassInfo_RowCommand"  OnRowDataBound="gvPassInfo_RowDataBound">
                <RowStyle BackColor="#EFF3FB" />
                <Columns>                                       
                    <asp:TemplateField HeaderText="User ID" Visible="false">
                        <ItemTemplate>
                            <asp:Label ID="lblSAPUserId" runat="server">
                            </asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>

                    <asp:TemplateField HeaderText="User ID" Visible="false">
                        <ItemTemplate>
                            <asp:Label ID="lblOSUserId" runat="server">
                            </asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>

                    <asp:TemplateField HeaderText="Description" Visible="false">
                        <ItemTemplate>
                            <asp:Label ID="lblSAPDescription" runat="server">
                            </asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>

                    <asp:TemplateField HeaderText="Description" Visible="false">
                        <ItemTemplate>
                            <asp:Label ID="lblOSDescription" runat="server">
                            </asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>

                    <asp:TemplateField HeaderText="Password" Visible="false">
                        <ItemTemplate>
                            <asp:Label ID="lblSAPPassword" runat="server">
                            </asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>

                    <asp:TemplateField HeaderText="Password" Visible="false">
                        <ItemTemplate>
                            <asp:Label ID="lblOSPassword" runat="server">
                            </asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>

                    <asp:TemplateField HeaderText="Change Password">
                        <ItemTemplate>
                            <asp:ImageButton ID="ImgBtnChangePass" runat="server" ImageUrl="~/images/PW.jpg" CausesValidation="false"
                                             CommandName="Edit" />
                        </ItemTemplate>
                    </asp:TemplateField>


                </Columns>
                <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
                <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
                <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                <EditRowStyle BackColor="#2461BF" />
                <AlternatingRowStyle BackColor="White" />
            </asp:GridView>
4

1 回答 1

0

这是保存按钮的代码

    var currentRow = gvPassInfo.Rows.OfType<GridViewRow>().Single(r => ((Label)r.FindControl("lblSAPUserId")).Text == txtUserId.Text);
    bool doesMatch = ((Label)currentRow.FindControl("lblOSPassword")).Text == "NewPassword";

但是,最好在您绑定到网格的集合中搜索密码。

于 2012-06-07T10:03:26.043 回答