典型的ASP应用,后台可以添加管理员,修改管理员密码,再添加时还能顺便对管理员密码进行MD5加密。
现在在.NET中,使用GridView来显示管理员列表,修改管理员密码,怎么加密呢?因为数据库更新操作都是自动的,我们怎么能够在更新的时候把密码加密并存进数据库呢?看下文吧,这是我的解决办法。
PS:我是初学者,所以我不懂得有什么高深的办法可以做到这一步,恩,还好我解决啦,你有其他办法可以与我交流噢。
整个功能的实现需要一个表,一个文件。
直接提出代码,大家自己看噢,有问题再问噢。
数据库结构如下:
WS_Admin
admin_id | admin_username | admin_password
1 |admin | 21232F297A57A5A743894A0E4A801FC3
admin_password.aspx内代码如下:
<asp:DetailsView ID=”DetailsView1″ runat=”server” AutoGenerateRows=”False”
DataKeyNames=”admin_id” DataSourceID=”ADS_Show_insert” GridLines=”None”
Width=”300px” EnableModelValidation=”True” OnItemInserting=”MyDetailsView_ItemInserting”
>
<Fields>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID=”LinkButton2″ runat=”server” CausesValidation=”False” CommandName=”New” Text=”添加新的管理员”></asp:LinkButton>
</ItemTemplate>
<InsertItemTemplate>
管理员账号:<asp:TextBox ID=”TextBox1″ runat=”server” Text=’<%# Bind(“admin_username”) %>’></asp:TextBox><br/>
管理员密码:<asp:TextBox ID=”TextBox2″ runat=”server” Text=’<%# Bind(“admin_password”) %>’></asp:TextBox><br/>
<asp:LinkButton ID=”LinkButton1″ runat=”server” CausesValidation=”True” CommandName=”Insert” Text=”插入”></asp:LinkButton>
<asp:LinkButton ID=”LinkButton3″ runat=”server” CausesValidation=”False” CommandName=”Cancel” Text=”取消”></asp:LinkButton>
</InsertItemTemplate>
</asp:TemplateField>
</Fields>
</asp:DetailsView>
<asp:Label ID=”Lbl_error” runat=”server” Font-Bold=”True” ForeColor=”Red”></asp:Label>
<asp:AccessDataSource ID=”ADS_Show_insert” runat=”server”
ConflictDetection=”CompareAllValues” DataFile=”~/App_Data/NewSunPaper2010.mdb”
InsertCommand=”INSERT INTO [WS_Admin] ([admin_username], [admin_password]) VALUES (?, ?)”
OldValuesParameterFormatString=”original_{0}”
SelectCommand=”SELECT * FROM [WS_Admin]”
>
<InsertParameters>
<asp:Parameter Name=”admin_username” Type=”String” />
<asp:Parameter Name=”admin_password” Type=”String” />
</InsertParameters>
</asp:AccessDataSource>
<asp:GridView ID=”GridView1″ runat=”server” AllowPaging=”True”
AutoGenerateColumns=”False” BackColor=”White” BorderColor=”#CCCCCC”
BorderWidth=”1px” CellPadding=”4″ DataKeyNames=”admin_id”
DataSourceID=”ADS_Show_Config” ForeColor=”Black” GridLines=”Horizontal”
PageSize=”15″ BorderStyle=”None” Width=”700px”
OnRowUpdating=”MyGridView_RowUpdating” EnableModelValidation=”True”
>
<Columns>
<asp:TemplateField HeaderText=”账号” SortExpression=”admin_username”>
<EditItemTemplate>
<asp:Label ID=”Label1″ runat=”server” Text=’<%# Eval(“admin_username”) %>’></asp:Label>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID=”Label2″ runat=”server” Text=’<%# Bind(“admin_username”) %>’></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign=”Center” Width=”150px” />
</asp:TemplateField>
<asp:TemplateField HeaderText=”密码” SortExpression=”admin_password”>
<EditItemTemplate>
<asp:TextBox ID=”TextBox1″ runat=”server” Text=’<%# Bind(“admin_password”) %>’></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID=”Label1″ runat=”server” Text=’<%# Bind(“admin_password”) %>’></asp:Label>
</ItemTemplate>
<ControlStyle Width=”250px” />
<ItemStyle Width=”200px” />
</asp:TemplateField>
<asp:TemplateField ShowHeader=”False”>
<EditItemTemplate>
<asp:LinkButton ID=”LinkButton1″ runat=”server” CausesValidation=”True”
CommandName=”Update” Text=”更新”></asp:LinkButton>
<asp:LinkButton ID=”LinkButton2″ runat=”server” CausesValidation=”False”
CommandName=”Cancel” Text=”取消”></asp:LinkButton>
</EditItemTemplate>
<ItemTemplate>
<asp:LinkButton ID=”LinkButton1″ runat=”server” CausesValidation=”False”
CommandName=”Edit” Text=”修改”></asp:LinkButton>
<asp:LinkButton ID=”LinkButton2″ runat=”server” CausesValidation=”False”
CommandName=”Delete” Text=”删除”></asp:LinkButton>
</ItemTemplate>
<ItemStyle Width=”100px” />
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:AccessDataSource ID=”ADS_Show_Config” runat=”server”
DataFile=”~/App_Data/NewSunPaper.mdb”
OldValuesParameterFormatString=”original_{0}”
SelectCommand=”SELECT * FROM [WS_Admin] order by admin_id desc”
ConflictDetection=”CompareAllValues”
InsertCommand=”INSERT INTO [WS_Admin] ([admin_username], [admin_password]) VALUES (?, ?)”
UpdateCommand=”UPDATE [WS_Admin] SET [admin_password] = ? WHERE [admin_id] = ?”
>
<InsertParameters>
<asp:Parameter Name=”admin_id” Type=”Int32″ />
<asp:Parameter Name=”admin_username” Type=”String” />
<asp:Parameter Name=”admin_password” Type=”String” />
</InsertParameters>
<SelectParameters>
<asp:SessionParameter Name=”admin_username” SessionField=”admin_username” Type=”String” />
</SelectParameters>
<UpdateParameters>
<asp:Parameter Name=”admin_password” Type=”String” />
<asp:Parameter Name=”original_admin_id” Type=”Int32″ />
</UpdateParameters>
</asp:AccessDataSource>
admin_password.aspx.vb内代码如下:
