B2C电商平台开发心得(asp.net+bootstrap)
Bootstrap,来自 Twitter,是目前最受欢迎的前端框架。Bootstrap 是基于 html、css、javascript的,专为 web 应用设计,包含了移动设备优先的样式, 其响应式 css 能够自适应于台式机、平板电脑和手机,它简洁灵活,使得 web 开发更加快捷。
官方下载地址:
http://getbootstrap.com/
1.网格系统:
网格系统是通常可以想成横跨的十二个可用的列来创建的。
col-xs-12是超小屏(如 手机 )
col-sm-12是小屏(如 平板 )
col-md-12是中等屏(如 电脑桌面)
col-lg-12是超大屏(如 大桌面显示器)
如想在不同移动设备拥有一样的样式,可根据网格系统,设置在不同属性值 例如:
<div id="K98HGT0A" runat="server" class="col-xs-12 col-sm-12 col-md-12 text-center text-padding">
<div class="col-xs-1 col-sm-4 col-md-5">
</div>
<div class="col-xs-11 col-sm-8 col-md-7 text-left text-padding K98HGT0A" id="div_img"
runat="server">
<img alt="" src="../Images/expand.gif" class="img1" align="absmiddle" onclick="expandAll();"
style="padding-left: 20px; " />
<img alt="" src="../Images/collapse.gif" class="img2" align="absmiddle" onclick="collapseAll();"
style="padding-left: 20px;" />
</div>
</div>
2.客户端的返回按钮:
if (ViewState["UrlReferrer"] != null)
{
Response.Redirect(ViewState["UrlReferrer"].ToString());
}
只在第二页面及之后才会有效果。
3.跳转到其他页面: 使用的是 Response.Redirect
protected void ibtnCart_Click(object sender, ImageClickEventArgs e)
{
string addpid = Common.GetAppIdByFilePath("Shopping_Cart.aspx");
Response.Redirect("Shopping_Cart.aspx?APPID=" + addpid);
}
#region 跳转到其他页面
private void ResponseRedirect(string pageUrl, string appid, string iq)
{
StringBuilder strUrl = new StringBuilder();
strUrl.Append(pageUrl);
strUrl.Append("?appid=");
strUrl.Append(appid);
strUrl.Append("&iq=");
strUrl.Append(iq);
Response.Redirect(strUrl.ToString());
}
#endregion
4.折叠效果: 使用两种不同的图片“+”“-”,在javascript中,点击两种图片(click事件),show/hide()显示/隐藏
5.页面动态加载(datetable动态新增一行还是物流动态等等情况)
function addGvNoneRow() {
if ($("#hdIQ").val() == "RP") {
$("#gvNone_SRNO tr:not(:first)").each(function () {
var STATUSDESCR = $(this).find(".STATUSDESCR").text();
var CREATE_T = $(this).find(".CREATE_T").text();
if ($("#gvNone_SRNO tr").length == 1) {
var tableImgfirst = " <div class='col-xs-5 col-sm-6 col-md-6 text-right text-padding orderimg' id='orderimg'>"
+ " <table class='pull-right' id='img'>"
+ " <tr><td><img src='../Images/successful(2).png' /></td></tr></table></div>"; var tableListfirst = "<div class='col-xs-7 col-sm-6 col-md-6 text-left text-padding orderlist' id='orderlist'>"
+ "<table class='pull-left list' id='list'>"
+ " <tr><td style='padding-bottom:10px;padding-left:15px;'><span id='lbSTATUSDESCR' style='font-size:XX-Small;'>" + STATUSDESCR + "</span>"
+ "<br />"
+ "<span id='lbCREATE_T' style='font-size:XX-Small;'>" + CREATE_T + "</span></td></tr></table></div><br/>";
$("#div_img").after(tableImgfirst);
$("#orderimg").after(tableListfirst);
} });
}
6.分页控件的应用(使用的是asp.net自带的分页控件AspNetPager)。
可以在AspNetPager设置按多少条数据分页。
HTML:
<div class="col-xs-9 col-md-7 col-lg-7 text-left text-padding fy_pager ">
<page:AspNetPager runat="server" ID="pager" PageSize="" OnPageChanged="Pager_PageChanged"
HorizontalAlign="Center" Width="100%" ForeColor="White">
</page:AspNetPager>
</div>
后端:
protected void Pager_PageChanged(object sender, EventArgs e)
{
string hdsono = "";
string sqlPager = @"SELECT COUNT(*) FROM(
5 SELECT DISTINCT M_STS.SONO
6 FROM OMSO_M SO_M WITH(NOLOCK)
7 INNER JOIN OMSO_M_STS_LOG M_STS WITH(NOLOCK) ON SO_M.SONO=M_STS.SONO
8 INNER JOIN BD_STORE S WITH(NOLOCK) ON S.STORECD=@STORECD
9 INNER JOIN BD_SPROJECT PROJ WITH(NOLOCK) ON S.PROJCD=PROJ.PROJCD
10 INNER JOIN SYSSTATUSCDL STS WITH(NOLOCK) ON STS.STATUSCD=M_STS.STATUSCD
11 WHERE SO_M.CREATEBY=@USERID)AA";
SqlParameter[] parasPager = {
new SqlParameter("@STORECD",SqlDbType.NVarChar,){Value=STORECD},
new SqlParameter("@USERID", SqlDbType.NVarChar, ) { Value =SysSession.UserId}
};
object obj = DBAccess.ExecuteScalar(sqlPager, parasPager);
int intobj = Convert.ToInt32(obj);
if (intobj == )
{
string sqlPager1 = @"SELECT COUNT(*) FROM(
21 SELECT DISTINCT M_STS.SONO
22 FROM OMSO_M SO_M WITH(NOLOCK)
23 INNER JOIN OMSO_M_STS_LOG M_STS WITH(NOLOCK) ON SO_M.SONO=M_STS.SONO
24 INNER JOIN SYSSTATUSCDL STS WITH(NOLOCK) ON STS.STATUSCD=M_STS.STATUSCD
25
26 WHERE SO_M.CREATEBY=@USERID AND STS.[LANGID]='en')AA";
SqlParameter parasPager1 = new SqlParameter("@USERID", SqlDbType.NVarChar, ) { Value = SysSession.UserId }; object obj1 = DBAccess.ExecuteScalar(sqlPager1, parasPager1);
pager.RecordCount = Convert.ToInt32(obj1); string sql1 = @"SELECT ROW_NUMBER() OVER (ORDER BY SONO)ROWNUM, SONO FROM (
33 SELECT DISTINCT M_STS.SONO
34 FROM OMSO_M SO_M WITH(NOLOCK)
35 INNER JOIN OMSO_M_STS_LOG M_STS WITH(NOLOCK) ON SO_M.SONO=M_STS.SONO
36 INNER JOIN SYSSTATUSCDL STS WITH(NOLOCK) ON STS.STATUSCD=M_STS.STATUSCD
37
38 WHERE SO_M.CREATEBY=@USERID AND STS.[LANGID]='en')AA"; sql1 = @"SELECT * FROM ( " + sql1 + " )X WHERE ROWNUM BETWEEN @Start AND @End"; SqlParameter[] paras1 = {
new SqlParameter("@USERID", SqlDbType.NVarChar, ) { Value =SysSession.UserId} ,
new SqlParameter("@Start",SqlDbType.Int){Value = pager.StartRecordIndex},
new SqlParameter("@End", SqlDbType.Int){Value =pager.EndRecordIndex},
};
DataTable dt1 = DBAccess.ExecuteDataTable(sql1, paras1);
for (int i = ; i < dt1.Rows.Count; i++)
{
string sono = dt1.Rows[i]["SONO"].ConvertObjToStr();
hdsono += sono + ",";
}
if (hdsono.Length > )
{
hdsono = hdsono.Substring(, hdsono.Length - );
hdSONO.Value = hdsono;
}
}
}
7.gridview中某字段内容过长,截取前*个字符,其后用……或“”代替,鼠标悬停在上面显示全部内容
<asp:TemplateField HeaderText="<%$ Resources:GlobalResource_Store,ItemName%>">
<ItemTemplate>
<asp:Label ID="lbPNDESCR" runat="server" Text='<%#Eval("PNDESCRtwo") %>' ToolTip='<%# Eval("PNDESCR") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
string sql = @"SELECT a.SRNO, b.CURR, b.SUMAMNT, a.PN,(substring(a.PNDESCR,0,20)) as PNDESCRtwo, a.PNDESCR, SUM(a.QTY) AS QTY, SUM(a.AMNT) AS ITEMAMNT
FROM (
SELECT SR_M.SRNO, M.QUOTNO, DA.QUOTITEM AS PN, DA.QUOTITEM AS PNDESCR, 1 AS QTY, DA.AMNT AS RPRIC, 1 AS DISCOUNT, DA.AMNT AS AMNT
FROM SMEDB..OMSR_M SR_M WITH(NOLOCK)
INNER JOIN SMEDB..OMSR_ADDR ADDR WITH(NOLOCK) ON SR_M.SRNO=ADDR.SRNO AND ADDR.ADDRTP='ST'
INNER JOIN SMEDB..QUOT_M M WITH(NOLOCK) ON M.SRNO=SR_M.SRNO AND M.APPROVEFLAG='Y'
INNER JOIN SMEDB..QUOT_DA DA WITH(NOLOCK) ON M.QUOTNO=DA.QUOTNO
……………………
8.RadioButton二选一时,设置两个RadioButton的属性groupName="**"的属性值相同。
<div class="row row-margin-bottom">
<div class="col-xs-2 col-sm-4 col-md-4 text-right text-left text-padding">
</div>
<div class="col-xs-10 col-sm-8 col-md-8 text-left text-padding">
<asp:RadioButton runat="server" ID="rbtn_zfb" GroupName="zf"
oncheckedchanged="rbtn_zfb_CheckedChanged" AutoPostBack="True" />
<%= Resources.GlobalResource_Store.Alipay%>
</div>
</div>
<div class="row row-margin-bottom">
<div class="col-xs-2 col-sm-4 col-md-4 text-right text-padding">
</div>
<div class="col-xs-10 col-sm-8 col-md-8 text-left text-padding" ">
<asp:RadioButton runat="server" ID="rbtn_xxhk" GroupName="zf" oncheckedchanged="rbtn_xxhk_CheckedChanged" AutoPostBack="True" />
<%= Resources.GlobalResource_Store.Offline_remittance%>
</div>
</div>
9.dropdownlist 默认项设置为数据列的某个值:
ddlTimeZone.Items.FindByText("UTC").Selected = true;
B2C电商平台开发心得(asp.net+bootstrap)的更多相关文章
- 企业如何做好B2C电商平台
导语本文主要讲了两个方面:1.企业如何定位B2C电商平台:2.企业做B2C遇到的问题. 一.企业如何定位B2C电商平台传统企业做B2C电子商务一般选用品牌.渠道.平台模式这三种,品牌模式是在网上建立一 ...
- 未来京东真能成为中国第一大B2C电商平台吗?
2月10日,京东集团在北京举行2017年"科技引领未来"开年年会.在本届年会上,京东宣布全面向技术转型.京东集团CEO刘强东正式对外公布未来12年的战略:在以人工智能为 ...
- 中国十大B2C电商站点开发语言调查
中国B2C电商站点市场占有率排名例如以下 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I ...
- B2B电商系统开发建设的价格费用取决于哪些要素
B2B电子商务系统平台建设开发怎么做?如何搭建一个电商系统网站平台?相信我们的企业商家在搭建电子商务系统的时候都会进行前期的系统策划,但是对于电子商务系统的构建绝大多数人都有一个误区,那就是对于电子商 ...
- Java生鲜电商平台-优惠券功能设计与开发(小程序/APP)
Java生鲜电商平台-优惠券功能设计与开发(小程序/APP) 说明:Java生鲜电商平台-优惠券功能设计与开发(小程序/APP) 目录 1.项目背景与需求分析 2.需求目的与功能点列表 3.业务逻辑 ...
- 从电商平台促销活动看电商app开发趋势
据亿合科技小编了解到:尽管各大电商平台都进入了品质和品牌时代,但对于消费者来说,低价依然是一个有吸引力的因素.尼尔森<网络购物者趋势研究>报告显示,2016年价格敏感型购物者的比例从15% ...
- 以太坊开发DApp实战教程——用区块链、星际文件系统(IPFS)、Node.js和MongoDB来构建电商平台(一)
第一节 简介 欢迎和我们一起来用以太坊开发构建一个去中心化电商DApp!我们将用区块链.星际文件系统(IPFS).Node.js和MongoDB来构建电商平台类似淘宝的在线电商应用,卖家可以自由地出售 ...
- 【基于微信小程序的社区电商平台】Alpha迭代心得
项目团队:小豆芽 开发周期:11.5-12.2(Alpha版本) 设想和目标 1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 解决问题:当前电商平台卖家买家角 ...
- 【基于微信小程序的社区电商平台】需求分析心得——小豆芽
一.项目内容 基于微信小程序,做一个社区电商平台,抓住社区电商的特点,做出特色,与微信集成,实现商品的个性化发布,以及个性化营销. 个性化发布:用户可以在应用上直接发布自己的商品,通过搜索心愿单可以查 ...
随机推荐
- CodeIgniter安装和入门使用(一)
CodeIgniter是个轻量级功能也强大的框架,适合做自己做小项目用,本文介绍CodeIgniter的安装和使用.安装 官网链接http://codeigniter.org.cn/user_guid ...
- Android系统服务 —— WMS与AMS
“可以毫不夸张的说,Android的framework层主要是由WMS.AMS还有View所构成,这三个模块穿插交互在整个framework中,掌握了它们之间的关系和每一个逻辑步骤,你对framewo ...
- 魔法方法 __slots__ 方法
场景解析 网游的用户, 大量的用户本质都是类的实例化对象, 在线人数百万级时对内存是很大的挑战, 如何减少这部分的内存 方法解析 __slots__ 方法 取消默认的类实例中的 __dict__ ...
- 转 layer的Icon样式以及一些常用的layer窗口使用
转载地址:http://blog.csdn.net/beauxie/article/details/60959971 本文搜集的是本人在实际开发中所用到的layer窗口,未用到的layer按钮,请参考 ...
- Selenium 2自动化测试实战38(整合自动发邮件功能)
整合自动发邮件功能 解决了前面的问题后,现在就可以将自动发邮件功能集成到自动化测试项目中了.下面重新编辑runtest.py文件 #runtest.py #coding:utf-8 from HTML ...
- Spark算子与RDD基本转换
map 将一个RDD中的每个数据项,通过map中的函数映射变为一个新的元素. 输入分区与输出分区一对一,即:有多少个输入分区,就有多少个输出分区. flatMap 属于Transformation算子 ...
- mysql安装报错error: Header V3 DSA signature: BAD, key ID
CentOS安装rpm安装MySQL时爆出警告: warning: mysql-community-server-5.7.18-1.el6.x86_64.rpm: Header V3 DSA/SHA1 ...
- 配置lumen的log为daily模式
1.首先添加服务提供者类LogServiceProvider <?php namespace App\Providers; use Illuminate\Support\ServiceProvi ...
- 【VS开发】修改窗口背景颜色大全
如何修改frame窗口的背景颜色? MDI窗口的客户区是由frame窗口拥有的另一个窗口覆盖的.为了改变frame窗口背景的颜色,只需要这个客户区的背景颜色就可以了.你必须自己处理WM_ERASEB ...
- 【机器学习】数据处理中白化Whitening的作用图解分析
之前在看斯坦福教程中whiteining这一章时,由于原始图像相邻像素值具有高度相关性,所以图像数据信息冗余,对于白化的作用的描述主要有两个方面:1,减少特征之间的相关性:2,特征具有相同的方差(协方 ...