第1章
1.简要叙述Web窗体编程模型与MVC编程模型的特点和优缺点。
【答】
Web窗体编程模型的最大优势是易理解、上手快,非常适合利用它内置的Web服务器控件开发Web应用程序。但是它还有最突出的问题,主要体现在以下两个方面。
新版本的Web窗体为了兼容旧版本,使Web服务器控件封装的功能变得越来越臃肿,这在一定程度上影响了程序运行的效率.另外,HTML5、CSS3以及各种优秀开源架构的推出,也让【Web窗体】提供的Web服务器控件变得越来越无用。
随着大型Web应用程序项目的分工越来越细,【Web窗体】编程模型使大型Web项目的单元测试工作变得非常棘手。
在这种情况下,微软又推出了开源的、基于测试驱动的【MVC】编程模型。
MVC编程模型的特点
l    任务分离
l    基于测试驱动的开发
l    HTML5CSS3的操控能力高
MVC编程模型的优点:MVC设计模式可以方便开发人员分工协作,提高开发效率,增强程序的可维护性和拓展性。..而且还利用Controller将Model与View分离,降低它们之间的耦合度。
MVC编程模型的缺点:增加了系统结构和实现的复杂性。视图与控制器间的过于紧密的连接视图对模型数据的低效率访问.目前,一般高级的界面工具或构造器不支持MVC模式.
2.简要回答什么是区域,区域的作用是什么?如何从主页导航到区域?
【答】
区域是将大型Web应用程序划分为各自独立的模块。
区域的作用是既可以让模块功能各自独立,又可以让这些不同的模块共享相同的资源(如图像文件、.css文件、js文件等),同时还能在某个模块中调用其他模块的功能。
从主页导航到区域可以使用Html。ActionLink方法,并用类似的代码:@Html.ActionLink(”例1-各章布局示意", "Index", "ch01NavDemos", new { id = "LayoutDemo” }, null),并且区域内引用设定的布局页,代码类似为:
@{
    Layout = "~/Areas/Chapter01/Views/Shared/_ch01Layout.cshtml”;
}.
第2章
1.什么是路由?ASP。NET MVC是如何实现路由匹配的?
路由(Route)是指映射URL到处理程序的模式。在ASP.NET MVC中,所有用户请求都要先
经过ASP.NET路由系统,才能到控制器中对应的操作方法(Action Method).即用户在览器的地址栏中输入网址并按回车键后,客户端就会向服务器发送HTTP请求,服务器则通过ASP.NET路由解析这一请求,从而到对应的操作方法。
ASP.NET MVC定义了一个全局路由表(RouteTable),路由表中的每个Route对象都包含一个路由模板。对于每个HTTP请求来说,URL路由系统都会遍历路由表到与当前URL模式相匹配的Route对象,然后再利用它进一步解析出路由数据(RouteData)。
2.Razor视图引擎有什么特点?
Razor视图引擎具有如下特点.
(1)混合编程。利用Razor视图引擎,可以直接在视图(包括视图页、布局页、分部页等)中混合使用C#代码和HTML、CSS以及JavaScript代码。
(2)语法简洁。利用Razor视图引擎,在视图文件(扩展名为。cshtml的文件)中,只需要用一个字符“@"就可以表示C#的语句块或者C#的内联表达式,这与jQuery用一个“$"符号来调用JavaScript脚本有异曲同工之妙,唯一的区别是C#代码是在服务器上执行,jQuery代
码是在客户端执行。
(3)与.NET框架的融合.利用Razor视图引擎,可在视图中直接调用ASP.NET框架的所有功能以及所有.NET类库,而且在VS2013开发环境下键入HTML、CSS、脚本以及C#代码时,都具有丰富的智能提示和语法着。
(4)有效防止脚本攻击.Razor视图引擎默认自动对网页中输入的字符串进行HTML编码,以防止客户端脚本攻击.
3.什么是Bootstrap,Bootstrap与jQuery是什么关系?
Bootstrap是Twitter公司的开发人员研制的一种开源的、移动设备优先的自适应Web前端开发框架,该架构在jQuery的基础上,实现了移动设备优先的自适应界面显示,其目标是为Web开发人员提供一个最简单的设计形式,来解决不同设备访问时所带来的屏幕自适应问题。
jQuery是一种开源的用JavaScript编写的库函数.而Bootstrap是在jQuery的基础上开发的Web前端开发框架,其本质就是利用CSS和JavaScript以及jQuery代码,为Web开发人员
提供不同的自适应界面样式控制。
第3章
1.简要说明ViewBag和ViewData的主要区别和联系。
【答】
ViewData属性是一个System。Web.Mvc。ViewDataDictionary对象,这是一个不区分大小写的由“键/值”对组成的字典集合。ViewBag属性是ViewData属性的另一种表示形式,该属性返回的是一种动态数据类型(dynamic)。ViewBag和ViewData在功能上的作用完全相同,两者都是利用ViewDataDictionary对象传递数据到视图,使用时任选其中之一即可。
validation框架有一种情况除外,就是当“键"包含空格等特殊字符时(比如用英文人名作为“键"时,中间会有空格),此时只能用ViewData属性来实现。
一般在控制器中通过ViewBag定义要传递给视图的数据,在视图(Views)中再通过ViewBag获取并呈现这些数据。
2.举例说明如何在控制器中返回ViewResult对象和PartialViewResult对象.
【答】
public ViewResult Index(string id)
    return View(id); //返回用id指定的视图
public PartialViewResult Name(int universityid = 0)
  IList〈UniversityModel> lstUniversityModel = this。GetModelList(universityid);
  return PartialView(lstUniversityModel);
}
3.举例说明如何通过模型实现服务器验证.
【答】
利用模型进行服务器验证,主要是在模型中定义验证规则,在页面上输入模型中对应的内容时在服务端进行验证。
比如模型中定义:
public class MyUserModel
    {
        [Display(Name = ”用户Id")]
        [Required(ErrorMessage = ”用户Id不能为空”)]
        [StringLength(3, MinimumLength = 3, ErrorMessage = "用户ID必须为3位”)]
        public string UserId { get; set; }
        public MyUserModel()
        {
            UserId = "011";
        }
    }
页面上的代码如下:
<div class="form-group”>
  @Html.LabelFor(m =〉 m。UserId)
  @Html。ValidationMessageFor(m => m.UserId)
  〈/div>
〈/div〉
第4章
1.jQuery与JavaScript和Bootstrap是什么关系?
答:jQuery是一种免费的开源JavaScript库,这些库函数也是用JavaScript代码来编写的,但是用jQuery提供的语法编写客户端代码更加简洁、直观,能大大缩短Web项目的开发周期,jQuery还自动处理了各种不同浏览器以及同一浏览器不同版本的兼容性问题.Bootstrap是Twitter公司的开发人员研制的一种开源的、移动设备优先的自适应Web前端开发框架,该架构在jQuery的基础上,实现了移动设备优先的自适应界面显示,其目标是为Web开发人员提供一个最简单的设计形式,来解决不同设备访问时所带来的屏幕自适应问题。
2.利用jQuery获取和设置HTML页面元素的方法有哪些?
答:利用jQuery提供的html方法、text方法以及val方法,可获取或设置HTML5元素的内容或选项的值。
3.如何用jQuery获取和设置元素的CSS属性?
答:jQuery提供的attr方法用于获取或设置元素的特性(Attribute),prop方法用于获取或设置元素的属性(Property)。
第5章
1.简要回答GET方式和POST方式有什么区别。
答:
GET方式也叫GET Method,用于向服务器发送GET请求,该方式通过URL来传递用户请求的数据,同时将参数以字符串的形式存放在向服务器提交的URL的后面。
POST方式也叫POST Method,该方式是将表单(form元素)内各字段名称及其内容放置在HTML的头文件(head元素)内传送给服务器,而不是通过URL来传递参数。
2.简要回答Html.BeginForm和Ajax。BeginForm有什么区别。
答:
Html.BeginForm方法用于生成form元素的开始标记,并默认使用POST方式提交数据,当用户提交表单时,由操作方法处理form的POST请求。另外,如果Html.BeginForm方法不带参数,它就用同样的URL来处理GET和POST请求。
Ajax。BeginForm方法的用法和Html.BeginForm方法的用法相似,主要区别是前者为整页更新,后者为页面局部更新。另外,在控制器中,操作方法返回的类型是PartialViewResult类型。除了这些区别之外,其他用法和Html.BeginForm方法的用法相同。
3.简要回答表单的排列方式有哪些,这些排列方式分别适用于什么情况。
答:
表单控件的常见布局方式包括以下几种:
(1)让form内的每个label和input都单独占一行;
(2)组间纵向组内横向;
(3)水平居中排列;
(4)内联式横向排列,这种方式只适用于浏览器窗口大于等于768px宽度的情况。如果窗口宽度较小(比如通过手机浏览器浏览该页面),此时表单内的每一组控件仍会垂直堆叠在一起;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。