开始使用.docx
- 文档编号:27694485
- 上传时间:2023-07-04
- 格式:DOCX
- 页数:22
- 大小:362.99KB
开始使用.docx
《开始使用.docx》由会员分享,可在线阅读,更多相关《开始使用.docx(22页珍藏版)》请在冰豆网上搜索。
开始使用
【博文推荐】ASP.NETMVC4+BootStrap实战
2015-03-0310:
23BruceAndLee51CTO博客字号:
T | T
好久没有写关于web开发的文章了,进到这个公司一直就是winform和Silverlight,实在是没有实战web项目的机会。
大D也辞职了,去搞webapp了。
自己也该闲暇时间多学习学习,每天进步一点点。
AD:
本博文出自51CTO博客BruceAndLee博主,有任何问题请进入博主页面互动讨论!
博文地址:
OK,不多说了,看一下Solution的截图
基本上一看就明白了,控制器调用Biz层,Biz层调用DAL层,DAL层进行数据的CURD。
Utility是一些公用的类库。
ok,为什么程序集的命名都是以Bruce开头呢,因为我在公司的英文名叫这个。
废话不多说,我们先看一下页面
我们引入了BootStrap,主要是为了页面布局。
在Views中Partial下面放的都是部分页。
我们先看一下运行效果,今天主要是讲页面初始化部分。
其实查询条件就是婚否,出生日期,姓名的模糊查询。
我们先看一下页面Index.cshtml的代码
1.
DOCTYPE html>
2.
3.
4.
5.
6.
7.
8.
9.
10. @*@Styles.Render("~/css")*@
11. @Scripts.Render("~/bundles/BootStrap")
12. @Scripts.Render("~/bundles/Scripts")
13.
19.
20.
21.
22.
76.
77.
78.
我们使用html5+BootStrap布局,这里用到了BootStrap的网格系统,将浏览器平分为12份,即12列,很容易构造出响应式布局系统。
那么什么是BootStrap的网格系统,看如下的解释
OK,我们怎么看是否是响应式的布局呢,我们打开谷歌浏览器,现将浏览器缩小到一定程度。
看到了吧,即使设备浏览器这么小,我们还是能用。
那我们在手机模拟器中测试一下,打开谷歌浏览器,按F12,点击手机模拟器样的东西,然后Device选择iphone6。
我们看到iphone6下面的效果是这样的。
说到这里我最近很讨厌两个广告,一个是“这个是iphone6,这个是iphone6plus,它们都有一个叫健康的东西.....但是好吃啊”,还有一个是“当牛魔王变成一个饺子,我愿意变成一双筷子”。
看到这两个广告,我想砸电视。
那为什么不同的设备不同的浏览器都是可以正常浏览的呢,原因就在于这段代码
1.
这段代码的意思是网页宽度默认等于屏幕宽度,缩放比例默认为1(网页初始比例占屏幕的100%)。
ok,我们接下来看head部分css和js的引用,这里有个新东西叫Bundle,用来打包压缩js或者css的。
通过它打包压缩的js或者css客户端只需要下载一次包即可,而且可以在客户端缓存起来,当检测到有更新时,才会重新下载。
下面是Bundle.cs的代码
1.using System.Web;
2.using System.Web.Optimization;
3.
4.namespace Brue.GRLC.Web
5.{
6. public class BundleConfig
7. {
8. // 有关 Bundling 的详细信息,请访问
9. public static void RegisterBundles(BundleCollection bundles)
10. {
11. bundles.Add(new ScriptBundle("~/bundles/BootStrap").Include(
12. "~/Scripts/jquery-1.11.1.js","~/BootStrap/js/bootstrap.js"));
13.
14. bundles.Add(new ScriptBundle("~/bundles/Scripts").Include("~/Js/Index.js"));
15.
16. bundles.Add(new StyleBundle("~/css").Include("~/BootStrap/css/bootstrap-theme.css"
17. , "~/BootStrap/css/bootstrap.css"));
18. }
19. }
20.}
注意,在这里引用js的时候不要引用压缩过的js,比如xxx.min.js。
当Bundle在遇到这种js命名文件的时候,直接就忽略掉了。
那么我们在Head中只需要使用如下代码来引用即可。
1.@Scripts.Render("~/bundles/BootStrap")
2.@Scripts.Render("~/bundles/Scripts")
OK,在这我碰到一个问题,就是我的css通过这种方式引用,始终提示Indexoutofrange。
如果哪位大牛知道原因的话麻烦留个言,谢谢!
OK,我们接下来看一下控制器代码,页面刚进来,会走Home/Index。
1.public ActionResult Index()
2. {
3. List
4. SelectList selectList = new SelectList(marriedList, "MarriedID", "DisplayContent", "-1");
5. ViewBag.MarriedList = selectList;
6.
7. DataResponse
8. UserInfoViewModel userInfoViewModel = new UserInfoViewModel();
9. userInfoViewModel.DataResponse = dataResponse;
10. userInfoViewModel.DataResponse.PageIndex = ConstValues.CONN_DefaultPageIndex;
11. userInfoViewModel.DataResponse.PageSize = ConstValues.CONN_DefaultPageSize;
12. userInfoViewModel.DataResponse.StartPageIndex = 1;
13. return View(userInfoViewModel);
14. }
首先我们构造了一个SelectList用于下拉列表,Biz层的代码很简单
1.public dynamic GetMarriedList()
2. {
3. IList
4. marriedList.Add(new { MarriedID = -1, DisplayContent = "No Selection" });
5. marriedList.Add(new { MarriedID = 0, DisplayContent = "Married" });
6. marriedList.Add(new { MarriedID = 1, DisplayContent = "UnMarried" });
7.
8. return marriedList;
9. }
用匿名类去构造一个List。
接下来就是DataReponse的获取,Biz层的代码如下
1.public DataResponse
2. {
3. if(request==null)
4. {
5. request = new UserInfoRequest();
6. request.PageIndex = ConstValues.CONN_DefaultPageIndex;
7. request.PageSize = ConstValues.CONN_DefaultPageSize;
8. }
9.
10. int totalCount=0;
11.
12. List
13. DataResponse
14. dataResponse.DataList = userDBEntityList;
15. dataResponse.TotalCount = totalCount;
16. return dataResponse;
17. }
没什么可说的,ConstValues类中是一些静态只读属性
1.public class ConstValues
2. {
3. public static readonly string CON_DBConnection = ConfigurationManager.ConnectionStrings["DB_ConnectionStr"].ToString();
4. public static readonly string CON_DbScriptXmlFolder = ConfigurationManager.AppSettings["DbScriptXmlFolder"];
5. public static readonly int CONN_DefaultPageSize = int.Parse(ConfigurationManager.AppSettings["DefaultPageSize"]);
6. public static readonly int CONN_DefaultPageIndex = 1;
7. public static readonly int CONN_PagerDisplayCount = int.Parse(ConfigurationManager.AppSettings["PagerDisplayCount"]);
8. }
看一下DAL层。
1.public List
2. {
3. totalCount = 0;
4. string sqlScript = string.Empty;
5. try
6. {
7. sqlScript = DBScriptManager.GetScript(this.GetType(), "GetUserInfo");
8. SqlParameter[] sqlParameters =
9. {
10. new SqlParameter("@IsMarried",SqlDbType.Char,1),
11. new SqlParameter("@StartDate",SqlDbType.DateTime),
12. new SqlParameter("@EndDate",Sql
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 开始 使用