=x= 🌵 Home 前台页面 - 轮播图後端功能制作。
📌 Home 页面 - 游艇型号轮播图内容 :
<head>
及<body>
内的内容分别复制到 .aspx 档案中。
<div>
原始设定为不显示。
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack) {
loadBanner();
}
}
private void loadBanner()
{
//用 List<T> 接收 Json 格式图片资料
List<ImagePath> savePathList = new List<ImagePath>();
//连线资料库取出图片资料
SqlConnection connection = new SqlConnection(WebConfigurationManager.ConnectionStrings["TayanaYachtConnectionString"].ConnectionString);
string sqlLoad = "SELECT * FROM Yachts ORDER BY id DESC";
SqlCommand command = new SqlCommand(sqlLoad, connection);
connection.Open();
SqlDataReader reader = command.ExecuteReader();
StringBuilder bannerHtml = new StringBuilder();
while (reader.Read()) {
string loadJson = HttpUtility.HtmlDecode(reader["bannerImgPathJSON"].ToString());
savePathList = JsonConvert.DeserializeObject<List<ImagePath>>(loadJson);
//每个型号只取出第一张图
string imgNameStr = "";
if (savePathList?.Count > 0) {
// 指定选取 List<T> 第一笔资料
imgNameStr = savePathList[0].SavePath;
}
//游艇型号字串用空格切割区分文字及数字
string[] modelArr = reader["yachtModel"].ToString().Split(' ');
//依新设计或新建造来切换显示标签
string isNewDesignStr = reader["isNewDesign"].ToString();
string isNewBuildingStr = reader["isNewBuilding"].ToString();
string newTagStr = ""; //标签档名用
// value 预设为 0 不显示标签
string displayNewStr = "0";
//判断是否显示对应标签
if (isNewDesignStr.Equals("True")) {
displayNewStr = "1";
newTagStr = "images/new02.png";
}
else if (isNewBuildingStr.Equals("True")) {
displayNewStr = "1";
newTagStr = "images/new01.png";
}
//加入游艇型号轮播图 HTML
bannerHtml.Append($"<li class='info' style='border-radius: 5px;height: 424px;width: 978px;'><a href='' target='_blank'><img src='upload/Images/{imgNameStr}' style='width: 978px;height: 424px;border-radius: 5px;'/></a><div class='wordtitle'>{modelArr[0]} <span>{modelArr[1]}</span><br /><p>SPECIFICATION SHEET</p></div><div class='new' style='display: none;overflow: hidden;border-radius:10px;'><img src='{newTagStr}' alt='new' /></div><input type='hidden' value='{displayNewStr}' /></li>");
}
connection.Close();
//渲染画面
LitBanner.Text = bannerHtml.ToString();
LitBannerNum.Text = bannerHtml.ToString(); //不显示但影响轮播图片数量计算
}
//轮播图 JSON 资料
public class ImagePath
{
public string SavePath { get; set; }
}
savePathList[0].SavePath
指定选取 List<T>
第一笔资料。
📢 今天的内容最容易卡住的地方就是要看懂轮播图的运作逻辑,需要特别去看放在 <head>
里的 JavaScript 来推测,在制作时最容易鬼打墙的地方,就是明明设定为不显示的轮播图缩图,却是用来计算轮播图片总数的内容,如果一开始就把这个区块删掉,就会一直卡在为何都有显示画面,後端取资料也都有取到,但轮播图不会动;或是没有删除缩图区块,就会发现轮播图会动,但轮播的图片永远只有5张,回头去看 JavaScript 的控制轮播区块的程序码,就会发现判断次数是用缩图区块的 '.title ul li.on'
,可以知道是用 <li>
标签有几组来决定轮播的次数。
>>: 21. 闲聊 x 网页浏览快捷键(Windows/Linux)
Keyword:SQLDelight,Native Driver 到24日,在iOS上呈现DB资料 ...
今天我们来谈谈网路的身分认证-Cognito 1. Cognito应用价值 现在的生活环境,不管是网...
大家好~ 我是五岁~ 今天来把九尾狐妹妹完成吧~~!! (゚∀゚) 九尾狐应该类似狐狸,所以主色使用...
前言 经过前面几篇基础介绍,应该对 useState 与 useEffect 有一定程度的认识,俗话...
当你第一次购买 Mac 时,除了学习和适应使用之外,你还探索了击键技巧。 这时候,你需要用好软件才有...