一.说明
此文是小白在学习张晨光老师的视频教学<<Asp.Net WEB服务器编程技术>>中做的学习笔记,一些知识点也是跟着教程走的,大家也可以去老师的主页去学习,谢谢大家.
这一篇要练习的是,如下课程的代码:
二.母版页增加内容(Musci_Menu.Master)
在母版页中的导航栏增加如下代码:
<header class="d-flex justify-content-center py-3 bg-linear justify-content-lg-start">
<img alt="" src="img/music.png" style="width:50px;height:50px;margin-left:20px;margin-right:10px" /><span style="font-size:30px;color:#0a58ca;margin-right:150px;">薄雾音乐</span>
<ul class="nav nav-pills">
<li class="nav-item"><a href="main.aspx" class="nav-link" id="main" >发现音乐</a></li>
<li class="nav-item"><a href="#" class="nav-link ">我的主页</a></li>
<li class="nav-item"><a href="user_center.aspx" class="nav-link" id="center">个人中心</a></li>
<li class="nav-item"><a href="#" class="nav-link ">FAQs</a></li>
<li class="nav-item"><a href="#" class="nav-link ">About</a></li>
</ul>
<%--新增的代码--%>
<div style="padding-left:35%">
<a href="#" class="d-block link-dark text-decoration-none dropdown-toggle" id="dropdownUser1" data-bs-toggle="dropdown" aria-expanded="false">
<%--这里设置了他的默认图片,在aspx中,要被后端找到,需要添加runat="server"属性,不然会报错--%>
<img id="user_photos" src="img/_用户.png" alt="mdo" width="32" height="32" class="rounded-circle" runat="server">
</a>
<ul class="dropdown-menu text-small" aria-labelledby="dropdownUser1">
<li><a class="dropdown-item" href="#">New project...</a></li>
<li><a class="dropdown-item" href="#">Settings</a></li>
<li><a class="dropdown-item" href="#">Profile</a></li>
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item" href="#">Sign out</a></li>
</ul>
</div>
</header>
三.登录页面(login_new.aspx)
//在btn_sub_Click (登录按钮点击事件)里添加如下代码
//读取用户
if (resilc > 0)
{
//将用户名绑定到Session
Session["userName"] = userName.Text.ToString();
//新增代码
//新添加用户图片到Session
string sqluser = "SELECT * FROM user_all WHERE user_name=?name AND user_pwd=?pwd";
DataTable dt= ToolMysqlDate.executTable(sqluser, ht);
Session["user_photo"] = dt.Rows[0]["u_photo"].ToString();
//Response是服务器发出的响应,耗费资源,服务器的内存和网络的带宽
//Response.Redirect("index.aspx");
ScriptManager.RegisterStartupScript(UpdatePanel1, typeof(UpdatePanel), "ok_login", "/*alert('您已成功登录!');*/location.href='Main.aspx'", true);
}
else
{
//Response.Write("<script>alert('您输入的账户或密码有误,请核对后输入!!!')</script>");
ScriptManager.RegisterStartupScript(UpdatePanel1, typeof(UpdatePanel), "error_login", "alert('您输入的账户或密码有误,请核对后输入!!!')", true);
}
四.赋值模板页(Main.aspx.cs)
引用:
//引用,读取母版页的HTML控件
using System.Web.UI.HtmlControls;
代码:
if (!IsPostBack) {
Bindlist();
//绘制图片
//使用模板页上的控件
if (Session["user_photo"] != null) {
//Master.FindControl读取母版页的控件的ID
HtmlImage user_img = (HtmlImage)Master.FindControl("user_photos");
//赋值图片路径
user_img.Src= Session["user_photo"].ToString();
}
}
五.效果
在未登录之前:
登录后,头像会改变为用户的头像: