Net Core教程

ASP.net 访问模板页控件

本文主要是介绍ASP.net 访问模板页控件,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一.说明

此文是小白在学习张晨光老师的视频教学<<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();
     }
     
 }

五.效果

在未登录之前:
在这里插入图片描述
登录后,头像会改变为用户的头像:
在这里插入图片描述

这篇关于ASP.net 访问模板页控件的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!