开始说两句废话,毕业生工作不容易,天天感觉在学习新东西,老实说本人是不喜欢这个行业的,本事死的早(笑)自己身体也不太好,坚持到等现在无外非两点: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>
东西没有什么技术含量,如果能帮助到和我一样刚刚入职的朋友真是再好不过了