我有一个包含6列的gridview
(SAPUserID ,SAPDescription,SAPPassword,OSUserID,OSDescription,OSPassword)
和CHANGE PASSWORD
按钮。点击此按钮后,网格视图下方的面板(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>
答案 0 :(得分:0)
以下是“保存”按钮的代码
var currentRow = gvPassInfo.Rows.OfType<GridViewRow>().Single(r => ((Label)r.FindControl("lblSAPUserId")).Text == txtUserId.Text);
bool doesMatch = ((Label)currentRow.FindControl("lblOSPassword")).Text == "NewPassword";
但是,最好在您绑定到网格的集合中搜索密码。