ASP.net 个人中心模块
一.说明
此文是小白在学习张晨光老师的视频教学<<Asp.Net WEB服务器编程技术>>中做的学习笔记,一些知识点也是跟着教程走的,大家也可以去老师的主页去学习,谢谢大家.
这一篇要练习的是,如下课程的代码:
二.登录界面(index.aspx)
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="index.aspx.cs" Inherits="MyMusci.index" %><!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><title></title><style>.linkBtn {padding:0px 20px;}</style>
</head>
<body><form id="form1" runat="server"><div><asp:LinkButton ID="LinkButton1" runat="server" CssClass="linkBtn">发现音乐</asp:LinkButton><asp:LinkButton ID="LinkButton2" runat="server" CssClass="linkBtn">我的主页</asp:LinkButton><asp:LinkButton ID="LinkButton3" runat="server" CssClass="linkBtn" PostBackUrl="~/Home.aspx">个人中心</asp:LinkButton></div></form>
</body>
</html>
后台逻辑:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;namespace MyMusci
{public partial class index : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){//如果Session对象为空,则退回至登录界面if (Session["userName"] == null){Response.Write("<script>alert('您的登录已过时,请重新登录!!!')</script>");Response.Redirect("login_new.aspx");}}}
}
这里只时简单的给几个超链接控件,并不是重点,后续再作优化.
三.个人中心(Home.aspx)
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Home.aspx.cs" Inherits="MyMusci.Home" %><!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><title></title><link href="bootstrap-5.1.3-dist/css/bootstrap.css" rel="stylesheet" /><script src="bootstrap-5.1.3-dist/js/bootstrap.bundle.js"></script><style>.img {height:126px;width:126px;}</style>
</head>
<body><form id="form1" runat="server"><div class="container"><table class="table"><tbody><tr><td>账号</td><td><asp:Label ID="userId" runat="server"></asp:Label></td><td rowspan="3"><asp:Image ID="userPhoto" runat="server" CssClass="img" /><br /><%--文件上传控件--%><asp:FileUpload ID="FileUpload1" runat="server" /><asp:Button ID="btnUpload" runat="server" Text="上传" OnClick="btnUpload_Click" /></td></tr><tr><td>昵称</td><td><asp:TextBox ID="userNetname" runat="server"></asp:TextBox></td></tr><tr><td>性别</td><td><asp:DropDownList ID="userSex" runat="server"><asp:ListItem Value="true">男</asp:ListItem><asp:ListItem Value="false">女</asp:ListItem></asp:DropDownList></td></tr><tr><td>签名</td><td><asp:TextBox ID="userSign" runat="server" Height="101px" TextMode="MultiLine"></asp:TextBox></td></tr><tr><td>年龄</td><td><asp:TextBox ID="userAge" runat="server"></asp:TextBox></td></tr></tbody></table><asp:Button ID="sub_Btn" runat="server" Text="编辑" class="btn btn-primary" OnClick="sub_Btn_Click" /></div></form>
</body>
</html>
后台代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Collections;
using System.Data;
using Model;namespace MyMusci
{public partial class Home : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){//防止用户直接进入用户中心if (Session["userName"] == null){Response.Redirect("login_new.aspx");}else {//将数据库中的值赋值于页面的控件中if (!IsPostBack){GetUser();}}}private void GetUser(){//读取Session,从数据库中获取相应的数据string nameid = Session["userName"].ToString();string sql = "select * from user_all where user_Name=?userName";Hashtable ht = new Hashtable();ht.Add("userName", nameid);DataTable dt = ToolMysqlDate.executTable(sql, ht);userId.Text = nameid;userNetname.Text = dt.Rows[0]["u_nick"].ToString();//下拉列表选中FindByValue,则时要选中的value值//将数据库返回的BOOL值转换字符串后,再判断哪一项被选中userSex.Items.FindByValue(dt.Rows[0]["u_sex"].ToString()=="True"?"true":"false").Selected = true;userSign.Text = dt.Rows[0]["u_sign"].ToString();userAge.Text = dt.Rows[0]["u_age"].ToString();userPhoto.ImageUrl= dt.Rows[0]["u_photo"].ToString();}//上传图片按钮点击事件protected void btnUpload_Click(object sender, EventArgs e){//判断是否有图片if (FileUpload1.HasFile){//获取文件名string imgName = FileUpload1.FileName;//添加时间参数,可以规避掉图片重名问题imgName = DateTime.Now.ToString("yyyymmddhhmmss")+ imgName;//图片上传的地址(路径)FileUpload1.SaveAs(Server.MapPath("\\user_img\\") + imgName);//显示到图片框上userPhoto.ImageUrl = "\\user_img\\" + imgName;}else {Response.Write("<script>alert('需要先选择图片,再上传')</script>");}}//编辑按钮提交事件protected void sub_Btn_Click(object sender, EventArgs e){//修改数据库中的值string sql = "update user_all set " +"u_Nick=?u_Nick,u_sex=?u_sex,u_Sign=?u_Sign,u_age=?u_age,u_photo=?u_photo " +"where user_name=?user_name";//这是我们自己创建的类,记得引用using Model;Model是我们自己创建的类库DataUser us = new DataUser();//给中间实体类赋值us.user_name = userId.Text;us.u_Nick = userNetname.Text;//判断下拉列表选中的数据,并提取,然后将其转换为int 类型,1为True,0为Falseus.u_sex = userSex.SelectedValue== "true"?1:0;us.u_Sign = userSign.Text;us.u_age = Convert.ToInt32(userAge.Text);us.u_photo = userPhoto.ImageUrl;Hashtable ht = new Hashtable();//参数的赋值ht.Add("user_name", us.user_name);ht.Add("u_Nick", us.u_Nick);ht.Add("u_sex", us.u_sex);ht.Add("u_Sign", us.u_Sign);ht.Add("u_age", us.u_age);ht.Add("u_photo", us.u_photo);//调用增删改方法int result = ToolMysqlDate.executeSql(sql, ht);//向用户提示信息if (result > 0){Response.Write("<script>alert('信息修改成功')</script>");}else {Response.Write("<script>alert('信息修改失败')</script>");}}}
}
四.ToolMysqlDate.cs增加方法
我们在之前的ToolMysqlDate.cs中添加如下方法:
//从数据库查询数据并将数据返回为DataTable类型
public static DataTable executTable(String sql, Hashtable ht) {MySqlDataAdapter mda = new MySqlDataAdapter(sql, conn);//把ht传递过来之后,需要给参数赋值;foreach (DictionaryEntry de in ht){//第一个参数:key;第二个参数:value值mda.SelectCommand.Parameters.AddWithValue(de.Key.ToString(), de.Value.ToString());}DataTable dt = new DataTable();mda.Fill(dt);return dt;
}
五.创建类库(Model)
首先,我们右击项目/添加/新建项目
然后添加/新建项:
里面填充的是数据库的字段的内容,大家需要根据自己创建的数据库字段,作相应的调整:
using System;
using System.Collections.Generic;
using System.Text;namespace Model
{public class DataUser{public int id { get; set; }public string user_name { get; set; }public string user_pwd { get; set; }public string u_Nick { get; set; }//这里将原本booL类型的字段更改为int字段,因为使用上面的修改数据库方法,是没有办法传递bool类型的//改为int 类型后,数据库会字段的将其转换为bool类型,这样我们修改的时候就不会出错了public int u_sex { get; set; }public string u_photo { get; set; }public DateTime u_time { get; set; }public string u_Sign { get; set; }public int u_age { get; set; }}
}
数据库的字段信息内容:
然后我们右击引用/添加引用:
创建一个存储用户头像的文件夹(user_img):
这样就大功告成了.
六.效果
这是我们登录后的简陋首页:
然后我们进入用户中心就可以修改操作了:
对应的数据库数据:
ASP.net 个人中心模块相关推荐
- 手把手带你撸一个校园APP(五):新闻中心模块
这个项目是很早之前在学校做的,如今再回首.很多代码很是粗糙,逻辑也不尽完善.还望各位看官海涵. 前言 通过上一篇文章的功能设计,我们可以发现新闻通知公告等是APP的最主要功能点.主要是聚合展示学校官网 ...
- freeswitch的呼叫中心模块——mod_callcenter
freeswitch的呼叫中心模块很方便的就可以让用户体验这种呼叫中心模式,包含了很多功能,具体参数的配置在使用中自行摸索. 编译安装freeswitch时需要开启mod_callcenter.mod ...
- 14、阿里云短信Demo演示、Http的Get请求和Post请求演示、httpClient工具类演示、发送短信模块搭建、搭建用户中心模块、完成user注册基本功能、验证码存入redis、短信验证码注册
阿里云短信Demo演示 一.前端部分 无前端. 二.后端部分 1.创建发送短信测试模块SmsSendDemo,不用使用骨架. 2.在pom文件中引入依赖坐标 <dependency>< ...
- 【Android项目实战 | 从零开始写app(十三)】实现用户中心模块清除token退出登录信息修改等功能
五一后,被ji金伤了,哇呜呜,还是得苦逼老老实实打工写代码,看下面吧 本篇实现效果: 实现登录用户名展示到用户中心页面上,并且页面有个人信息,订单列表,修改密码,意见反馈发送到服务端,前面登录后,通过 ...
- Spring Boot项目学习15之我的主页和用户中心模块
1.我的主页模块 index.html页面右上角个人信息按钮可以跳转至我的首页. 1.1 BBSUserController控制器 这里需要查询用户的基本信息,然后用户发过的帖子信息,以及收藏过的帖子 ...
- React项目实战之租房app项目(十)个人中心模块登录访问控制项目打包部署上线
前言 目录 前言 一.个人中心模块 1.1 个人中心模块效果图 1.2 个人中心模块基础布局 1.2 个人中心模块功能实现 1.2.1 判断用户是否登陆 1.2.2 退出功能 二.登录访问控制 2.1 ...
- asp.net core权限模块的快速构建
大部分系统都会有权限模块,别人家系统的权限怎么生成的我不知道,我只知道这样做是可以并且挺好的. 文章中只对asp.net core的部分代码进行说明 呃 记录~,mvc版本自行前往仓库查阅 代码中的一 ...
- ASP.NET用户登录模块代码
1.验证用户登录: public static bool ValidateUser(string UserName,string UserPwd) { bool Fla ...
- php模块下载,douphp下载中心模块修改版
[实例简介] 网上购买版本上传只能添加上传路径,不能上传文件,此版本设置为可以上传文件,可以修改.修改后新的文件会覆盖旧的,如果不上传不修改. [实例截图] [核心代码] a1d74c72-16e8- ...
最新文章
- SQL server中SET ANSI_PADDING对char、varchar、nvarchar的影响
- MaxCompute Tunnel SDK数据上传利器——BufferedWriter使用指南
- 参数调用不会改变参数值
- 大学生计算机专业英语,《计算机专业英语》习题含答案(大学期末复习资料).doc...
- 【赠书】五一假期福利,OpenCV4最新原理与实战书籍
- PHP 设计模式 笔记与总结(8)策略模式
- 让你瞬间提高工作效率的常用js函数汇总
- 查看进程占用的端口号,同时杀死此进程
- 数据分析——十大数据分析模型
- 当棋牌遇到Web3,Immortal Games能让国际象棋流行起来么
- 皮皮虾小视频怎么去水印
- 关于用c语言演奏《天空之城》那些事
- 11讲项目实战首页右侧悬浮框及内页面包屑导航
- JS实现京东表单注册
- option样式美化 css,CSS select样式优化
- 【报告分享】2021年618全面复盘报告-魔镜市场情报(附下载)
- C++/MFC 面试题(一)
- 自动化立体仓库使用流程!海格里斯自动化立体库流程:入库——出库——拣选
- 使用Python3将word文档和pdf电子书进行格式互转(兼容Windows/Linux)
- 孙子定理(中国剩余定理)
热门文章
- always @(*) 中‘*’所代表的意思
- 长达半年的苹果发布会:亮点与槽点(iPhone5s,iPhone5c)
- AOP面向切面编程简单使用
- 无线网密码怎么改服务器停用,无线网怎么修改密码?更改无线网密码的操作步骤...
- Python 是怎么火起来的?
- ViewGroup默认不触发onDraw()方法源码分析
- android hero动画,Android卡通冒险解谜游戏 《我的小英雄》
- 神秘的营销武器,让蕾丝内衣店0元送丝袜,10天收9.6万!
- 下载vscode速度慢或无法下载问题解决
- PHP echo可写入内容详解