MVC5+EF6 入门完整教程五

article/2025/10/19 13:41:01


上篇文章介绍了EF实现CRUD及一些基本的Html Helpers.

这次我们将会对之前的内容进行一些修改和重构:

  1. 引入Bootstrap样式,搭建几类共用的模板页,对UI进行一些改造
  2. 分类介绍Html Helpers
  3. 完善一些功能


文章提纲


  • 理论基础
  • UI改造详细步骤
  • 总结


理论基础 -- Bootstrap简介


以下摘自百度百科:

Bootstrap是Twitter推出的一个开源的用于前端开发的工具包。它由Twitter的设计师Mark Otto和Jacob Thornton合作开发,是一个CSS/HTML框架。后面详细步骤会介绍如何使用。 


理论基础 -- Html Helpers


主要分成输入类和显示类。

输入类:

TextArea, TextBox

Password

Hidden

DropDownList

ListBox (与DropDownList类似,生存可多选的下拉列表框)

RadioButton

CheckBox

显示类:

显示类 Helper可以在应用程序中生成指向其他资源的链接,也可以构建被称为部分视图的可重用UI片段。

ActionLink和RouteLink

URL (Url.Action, Url.Content)

Partial 和 RenderPartial

Action和RenderAction

这些具体的作用我就不介绍了,相信各位园友根据名字都可以猜出生成的大多数HTML标签。建议大家新建一个空白View,将所有的helper都放进去,生成页面后,右键查看源代码,这样可以比较清晰的了解这些标签和HTML的对应关系。

Note

有两个helper说明一下:

html.ActionLink生成一个<a href=".."></a>标记

Url.Action只返回一个url。
例如:
@Html.ActionLink("linkText","someaction","somecontroller",new { id = "123" },null)
生成结果:

<a href="/somecontroller/someaction/123">linkText</a>

@Url.Action("someaction", "somecontroller", new { id ="123" }, null)
生成结果:
/somecontroller/someaction/123

 

另外,Partial和Action大家可能会比较陌生,这个后面文章讲分部视图(类似于原来web form中的用户控件)的时候介绍。

不知大家是否还记得我们前几篇文章用过的helper, 和这次介绍的有点不一样。

例如

这些helper的特征是名称后面加上了 For , 这些叫做强类型的辅助方法。

对于不适合使用字符串字面值从View数据中提取值的情况,可以使用强类型辅助方法, 通过传递一个lambda表达式来指定要渲染的模型属性。表达式的模型类型必须和为View指定的强类型一致。

主要的强类型辅助方法。

Html.TextBoxFor();

Html.TextAreaFor();

Html.DropDownListFor();

Html.CheckboxFor();

Html.RadioButtonFor();

Html.ListBoxFor();

Html.PasswordFor();

Html.HiddenFor();

Html.LabelFor();

Html.EditorFor();

Html.DisplayFor();

Html.DisplayTextFor();

Html.ValidtionMessageFor()

这些大都和前面普通的helper对应,大家可以自己试验。


UI改造详细步骤


下面我们对之前做的界面做一些改造。

下载相关文件

打开Bootstrap的Official Site

http://getbootstrap.com/

目前的版本是 v3.3.0, 我们直接下载 Source code

解压缩后文件结构:

我们实际要用的都放在dist文件夹内,展开dist文件夹

添加文件至项目

我们在项目中新增加几个文件夹OpenSource, Content, fonts

OpenSource中我们放一些第三方的源代码,Content中放实际使用的css文件, fonts放字体文件。

将解压缩后的文件夹bootstrap-3.3.0整体放入OpenSource文件夹内,方便以后查看用。

将bootstrap-3.3.0àdist 中的bootstrap.css和bootstrap-theme.css放入Content文件夹。

fonts文件夹先不用。

 

文件的准备工作就做好了,下面我们开始在做好的项目中使用bootstrap

打开ViewsàAccountàLogin.cshtml, 贴着title标签下面增加一行

<linkhref="~/Content/bootstrap.css"rel="stylesheet"/>

打开这个页面查看下,发现已经应用上样式了。

下面我们就开始这个项目的UI改造工作。

定义模板页

定义两类模板分别对应着 用户(主页面),管理员

Note 注册登录页的样式因为很少被共有,就不用模板页了。

右键Views文件夹,新建文件夹Shared. 这个新建的文件夹主要用来放共用的模板文件。

右键Shared文件夹,新建布局页 _Layout.cshtml和 _LayoutAdmin.cshtml

我们仿照bootstrap给我们提供的示例样式完成这两个布局页。

这两个布局页的内容我就不详细介绍了,具体可以查看我的源代码。

有几点说明一下:

@RenderBody():使用这个布局的View将把他们的内容显示到此处。

 

要使用这个布局时,如下图,在View中添加 Layout="~Views/Shared/_Layout.cshtml";

Note

可以在Views文件夹下面新建一个视图页,命名为_ViewStart.cshtml,将这部分统一写到这个文件里(如下图),这样应用布局页的View就可以省略这部分内容了。 另外这个_ViewStart.cshtml也是可以嵌套的,使用布局页的View会自动应用最近文件夹下面的_ViewStart.cshtml.

我们新建两个Controller : MVCDemoController和AdminController.cs

根据默认的Index方法新建视图,分别应用_Layout.cshtml和_LayoutAdmin.cshtml

用户界面

管理员界面

现在我们已经将要做的模板页做好了。我们再将登录框美化下:

现在我们就完成了对于UI的改造,我们做了三件事:

引入bootstrap样式;制作共用的布局页;美化登录页

关于页面UI设计的就不详细讲了,大家可以直接看源代码。

总结

本次我们主要对之前的内容做了一些完善,做了三个页面来说明情况。

你需要掌握

  1. bootstrap的基本使用
  2. 布局页的使用
  3. 常用的helper要做到心里有数

好了,今天就到这里。


http://chatgpt.dhexx.cn/article/elfKKORa.shtml

相关文章

ASP.NET + MVC5 入门完整教程三 (下) ---MVC 松耦合

建立松耦合组件 MVC 模式最重要的特性之一视他支持关注分离&#xff0c;希望应用程序中的组件尽可能独立&#xff0c;只有很少的几个可控依赖项。在理想的情况下&#xff0c;每个组件都不了解其他组件&#xff0c;而只是通过抽象接口来处理应用程序的其他区域&#xff0c;这就…

MVC2 ,MVC3 ,MVC4,MVC5的区别

2010年發行ASP.NET MVC 2.0版&#xff0c;2011年發行ASP.NET MVC 3.0版&#xff0c;2012年發行ASP.NET MVC 4.0版 MVC3 需要.net framework 4.0 版本. 支持多视图引擎 在 ASP.NET MVC3 中&#xff0c;增加视图的对话框中允许你选择你希望的视图引擎&#xff0c;在新建项目…

MVC5+EF6 入门完整教程四

上篇文章主要讲了如何配置EF, 我们回顾下主要过程&#xff1a; 创建Data Model 创建Database Context 创建databaseInitializer配置entityFramework的context配置节。 对这个过程还有疑问的可以去上篇再看一下。 本次我们就主要讲解 (1) EF基本的CRUD (2) 涉及到的常用…

ASP.NET MVC 5 - 入门

注︰本教程的更新的版本是可用在这里使用视觉工作室 2015年。新的教程使用ASP.NET MVC 6 核心&#xff0c;其中在本教程中提供了许多改进。 本教程将教你基本的构建 ASP.NET MVC 5 web 应用程序使用Visual Studio 2013. 下载已完成项目. 本教程由斯科特 格思里(twitterscottgu…

05 MVC 模式

MVC 模式 一、概述 MVC 模式&#xff08;Model–view–controller&#xff09;是软件工程中的一种软件架构模式&#xff0c;把软件系统分为三个基本部分&#xff1a;模型&#xff08;Model&#xff09;、视图&#xff08;View&#xff09;和控制器&#xff08;Controller&…

MVC5 + EF6 入门完整教程二

从前端的UI开始 MVC分离的比较好&#xff0c;开发顺序没有特别要求&#xff0c;先开发哪一部分都可以&#xff0c;这次我们主要讲解前端UI的部分。 ASP.NET MVC抛弃了WebForm的一些特有的习惯&#xff0c;例如服务器端控件&#xff0c;ViewState这些东西&#xff0c;让Web回…

ASP.NET + MVC5 入门完整教程七 -—-- MVC基本工具(上)

这里主要介绍三类工具之一的 依赖项注入&#xff08;DI&#xff09;容器&#xff0c;其他两类 单元测试框架和模仿工具以后介绍。 1、准备示例项目 从创建一个简单的示例开始&#xff0c;名称为"EssentialTools" ,使用MVC空模板&#xff0c;如下所示&#xff1a; 创…

ASP.NET MVC 5 开发框架简介

1、新建项目 2、选择MVC模板 3、MVC框架简介 &#xff08;1&#xff09;App_Data: 该文件夹主要是包含应用程序的本地存储, 它通常以文件形式(如Microsoft SQL Server数据库文件, XML文件等)包含数据存储。 &#xff08;2&#xff09;App_Start: 该文件夹包含应用程序的配置逻…

asp.net mvc5 安装

原文地址 http://docs.nuget.org/docs/start-here/using-the-package-manager-console 工具-->NuGet程序包管理器-->程序包管理器控制台 然后 PM>Install-Package Microsoft.AspNet.Mvc -Version 5.0.0 Finding a Package From the Tools menu, select Library Pa…

MVC5 + EF6 入门完整教程

第0课 从0开始 ASP.NET MVC开发模式和传统的WebForm开发模式相比&#xff0c;增加了很多"约定"。 直接讲这些 "约定" 会让人困惑&#xff0c;而且东西太多容易忘记。 和微软官方教程不同&#xff0c;笔者尽量不用脚手架&#xff0c;从空白框架开始&…

ASP.NET + MVC5 入门完整教程二

从前端UI开始 MVC分离的比较好&#xff0c;开发顺序没有特别要求&#xff0c;先开发哪一部分都可以&#xff0c;这次我们主要讲解前端UI的部分。而谈到一个Web Application的UI&#xff0c;涉及到的无非就是html、css、 js这些东西。有兴趣的同学可以看看EsayUI。 任务 建立 注…

asp.net + MVC5 入门完整教程一

第1课 从0开始 从空白框架开始&#xff0c;一步一步添加功能&#xff0c;让大家能真正能用起来&#xff0c;理解每一个过程。 概述 本系列文章及文章中的例子主要基于微软官方文档 使用工具 : VS2014 sqlServer 2014 开始主要讲解MVC使用&#xff0c;后续同样也会提供MVC A…

ASP.NET + MVC5 入门完整教程三 (上) ---第一个MVC项目

第一个MVC应用程序 1创建MVC项目 打开VS &#xff0c;File--新建--项目&#xff0c;选择ASP Web项目&#xff0c;命名后确认。选择&#xff08;Empty&#xff09;空模板&#xff0c; 项目创建完成&#xff0c;会看到 解决方案管理器 窗口显示一些文件夹&#xff0c;如图&…

ASP.net MVC5 简介

ASP.net MVC5 简介 MVC是什么 MVC是一种设计模式。 也就是Model-View-Controller 模型-视图-控制器。 Model的功能 Model试数据模型&#xff0c;用来封装与程序相关的数据&#xff0c;以及对数据操作的处理方法。 有关“数据处理”的范围都可以属于Model&#xff0c;比如…

ASP.NET MVC5 网站开发实践 - 概述

前段时间一直在用MVC4写个网站开发的demo&#xff0c;由于刚开始学所有的代码都写在一个项目中&#xff0c;越写越混乱&#xff0c;到后来有些代码自己都理不清了。1月26日晚上在群里跟怒放 他们讨论这个问题&#xff0c;结论是即使只是一个小demo也应该分层来写。正好看到别人…

MVC5路由系统机制详细讲解

转自&#xff1a;http://www.lanhusoft.com/Article/213.html 请求一个ASP.NET mvc的网站和以前的web form是有区别的&#xff0c;ASP.NET MVC框架内部给我们提供了路由机制&#xff0c;当IIS接受到一个请求时&#xff0c;会先看是否请求了一个静态资源&#xff08;.html,css,…

基于用户 的协同过滤算法

计算用户相似度和用户对未知物品的可能评分 基于用户的协同过滤算法主要包括两个步骤。 (1) 找到和目标用户兴趣相似的用户集合。 (2) 找到这个集合中的用户喜欢的&#xff0c;且目标用户没有听说过的物品推荐给目标用户。 例如现在有A、B、C、D四个用户&#xff0c;分别对a、…

JAVA开源协同过滤算法,推荐算法:协同过滤算法的介绍

一、什么是推荐算法 互联网的出现和普及给用户带来了大量的信息&#xff0c;满足了用户在信息时代对信息的需求&#xff0c;但随着网络的迅速发展而 带来的网上信息量的大幅增长&#xff0c;使得用户在面对大量信息时无法从中获得对自己真正有用的那部分信息&#xff0c;对信息…

协同过滤算法实验

本次呢&#xff0c;简单介绍一下协同过滤算法&#xff0c;并且给出简单的电影推荐实验作为举例说明。利用Spark MLlib中的协同过滤算法完成针对特定用户的电影推荐功能。这一部分需要实现实现输入用户id&#xff0c;输出为其推荐的电影。 一、协同过滤 所谓协同过滤&#xff0…

协同过滤算法及python实现

协同过滤算法及python实现 1.算法简介 协同过滤算法是一种较为著名和常用的推荐算法&#xff0c;它基于对用户历史行为数据的挖掘发现用户的喜好偏向&#xff0c;并预测用户可能喜好的产品进行推荐。也就是常见的“猜你喜欢”&#xff0c;和“购买了该商品的人也喜欢”等功能。…