玄宇說:偽靜態頁面原始碼例項參考
阿新 • • 發佈:2019-01-03
開始說兩句廢話,畢業生工作不容易,天天感覺在學習新東西,老實說本人是不喜歡這個行業的,本事死的早(笑)自己身體也不太好,堅持到等現在無外非兩點:1、內心之中的一點小倔強;2、程式碼寫完沒有BUG爽過高潮(笑)
現在切入正題,熟悉我的朋友知道本人沒有什麼技術含量,也就不能像大佬一樣給大家分析的頭頭是道,這裡僅貼出原始碼和我個人的一些理解給大家參考
這個偽靜態頁面大概分為三個模組組成:1、一般處理程式;2、HTML頁面;3、ajax;下面讓我貼上程式碼給大家參考
1、一般處理程式(公司的東哥跟我說,這裡寫的是介面,老實說呢個人對介面的理解一直很不理想,老實說是有些懵逼的)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Net.Util;
using Mxc.Model;
using Mxc.Helper;
using Mxc.Common;
namespace Mxc.Web.Mobile.API
{
/// <summary>
/// ceshi 的摘要說明
/// </summary>
public class ceshi : HandlerBase,IHttpHandler
{
public void ProcessRequest(HttpContext context )
{
context.Response.ContentType = "text/plain";
//前臺ajax的data過來的名字
string action = RequestUtil.GetString("action");
DoAction(action, context);
}
private void DoAction(string action, HttpContext context)
{
//對應到屬於自己的介面(個人還是習慣叫方法,/(ㄒoㄒ)/~~)
string result = string.Empty;
switch (action)
{
case "getceshi":
result = getceshi();
break;
case "getType":
result = getType();
break;
default: break;
}
//清除、輸出、停止(大家應該都懂不用我多說)
context.Response.Clear();
context.Response.Write(result);
context.Response.End();
}
private string getceshi()
{
//JsonResult傳輸值自然要例項化
JsonResult jsonResult = new JsonResult();
string strWhere = " isHot=1 AND GoodsStatus=1 ";
var list = shop_GoodsInfo.Operation().GetList(strWhere);
//Linq的使用方法:排序-投影(個人傾向於把Select理解為有點資料庫查詢的感覺)
jsonResult.Result = list.OrderByDescending(p => p.SaleCount).Select(p => new
{
p.GoodsId,
p.GoodsName,
GoodsPic = SiteHelper.CSAdminUrl + p.GoodsPic,
p.GoodPrice,
p.SaleCount,
//PS:(p.xxx)是一個完整的屬性(是應該叫屬性吧),不能給它在賦值,想要修改只有從新宣告變數再給它,比方說我這裡的“GoodsPic”
});
return base.WriteJson(jsonResult);
}
private string getType()
{
JsonResult jsonResult = new JsonResult();
var list = shop_GoodsType.Operation().GetList();
jsonResult.Result = list.OrderBy(p => p.TypeSort).Select(p => new
{
p.TypeId,
p.TypeName,
p.TypeIcon,
TypePic = SiteHelper.CSAdminUrl + p.TypePic
});
return base.WriteJson(jsonResult);
}
public bool IsReusable
{
get
{
return false;
}
}
}
}
2、HTML頁面和AJAX(因為是自己學習用的,就沒有分開寫)
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<meta charset="utf-8" />
<script src="/js/jquery-1.10.1.min.js" type="text/javascript"></script>
<script src="/js/plug/jquery.tmpl.min.js" type="text/javascript"></script>
<script src="/js/adaptive.js" type="text/javascript"></script>
<script src="/js/swiper.min.js" type="text/javascript"></script>
</head>
<body style=" text-align:center;">
<script id="hotTemplate" type="text/x-jquery-tmpl">
<!--其中${XXXX}為一般處理程式傳過來的值,自動迴圈-->
<h2>${GoodsId}</h2>
<h4>${GoodsName}</h4>
<p>${GoodPrice} ${SaleCount}</p>
<input type="button" value="新視窗開啟" onclick="window.open('http://www.baidu.com')">
<input type="button" value="當前頁開啟" onclick="window.location='http://www.baidu.com/'">
</script>
<script id="typeTemplate2" type="text/x-jquery-tmpl">
<span>ss ${TypeName}</span>
</script>
<script type="text/javascript">
var IndexFun = {
cishi: function () {
var parms = { action: "getceshi" };
$.ajax({
type: "POST",
url: "/API/ceshi.ashx",
dataType: "json",
data: parms,
async: false,
success: function (data) {
$("#hotlist").html($("#hotTemplate").tmpl(data.Result));
}
});
},
gettype: function () {
var parms = { action: "getType" };
$.ajax({
type: "POST",
url: "/API/ceshi.ashx",
dataType: "json",
data: parms,
async: false,
success: function (data) {
$("#hotlist2").html($("#typeTemplate2").tmpl(data.Result));
}
});
}
}
$(function () {
//$("#head").load('head.html');
IndexFun.cishi();
IndexFun.gettype();
});
</script>
</body>
</html>
東西沒有什麼技術含量,如果能幫助到和我一樣剛剛入職的朋友真是再好不過了