目前已经完成了应用程序的基本结构单元,受邀者也能够做出回复。这一节将添加一个支持组件,以显示收到的回复摘要,以便用户的朋友了解谁会参加晚会,并做出适当安排。在Solution Explorer中右键单击PartyInvites项,然后从弹出菜单中选择Add→Web Form。将名称设置为Summary,然后单击OK按钮,新创建一个文件Summary.aspx,这个新文件的内容如代码清单1-14所示。

代码清单1-14 Summary.aspx文件的内容

这是你的第一个ASP.NET应用程序,我们希望在这一章中演示尽可能多的技巧。出于这方面的原因,Summary.aspx文件看起来与Default.aspx文件截然不同。

稍后将仔细分析这个文件的各个部分,但首先请注意,Summary.aspx文件中并没有form元素。Web窗体这个名称存在一定的误导性,虽然大多数Web应用程序都使用了它,但Web窗体实际上只是一种由ASP.NET处理的增强型HTML文件。对于Default.aspx文件,这种增强以代码隐藏文件的形式体现出来,因此使用它来发布窗体。Summary.aspx文件进一步发挥了<%和%>标签的功能,以在浏览器请求此文件时向所生成的HTML中添加动态内容。

<%和%>标签的正式名称为服务器端脚本分隔符,但人们常将其称为代码片段(code nugget)。有各种不同类型的代码片段,代码清单1-14中添加了两种不同的代码片段。下面是第一个代码片段:

开始标签为<%@的代码片段称为指令。指令可以执行影响整个Web窗体的操作。本示例中创建了一个Import指令,以将项目中的命名空间纳入作用域,用于在无需了解类名的情况下引用类。

为什么我们会关心命名空间呢?因为列表中的另一个代码片段为一个C#代码块,该代码块将在请求页面时执行。在不了解类的命名空间的情况下引用类,能够降低代码的复杂性。代码块的开始标签仅为<%,而不含任何其他字符。(任何类型的代码片段的结束标签均为%>。)

代码块中使用了常规C#语句来生成一组HTML元素,即在table元素中列出接受邀请的嘉宾。调用ResponseRepository.GetRepository().GetAllResponses()方法获取存储库中的所有数据对象,并使用LINQ的Where方法来选择肯定回复,然后使用foreach循环为每个数据对象生成HTML字符串:

使用String.format构建要显示的HTML字符串,该字符串由每个GuestResponse对象的属性值组成,然后使用Response.Write方法将该HTML添加到发送给浏览器的输出中。

【Asp.net入门11】第一个ASP.NET 应用程序-创建摘要视图的更多相关文章

  1. 『Asp.Net 组件』第一个 Asp.Net 服务器组件:自己的文本框控件

    代码: using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace DemoWebControl ...

  2. Vue Create 创建一个新项目 命令行创建和视图创建

    Vue Create 创建一个新项目 命令行创建和视图创建 开始之前 你可以先 >>:cd desktop[将安装目录切换到桌面] >>:vue -V :Vue CLI 3.0 ...

  3. 【Asp.net入门02】搭建Asp.net开发环境

    本节主要讲解: 什么是asp.net asp.net开发和运行环境介绍 1.什么是ASP.NET Asp.net不是一种编程语言,而是一种开发技术.我们可以利用这种技术所提供的类库,使用C#或者VB编 ...

  4. 学习ASP.NET Core(11)-解决跨域问题与程序部署

    上一篇我们介绍了系统日志与测试相关的内容并添加了相关的功能:本章我们将介绍跨域与程序部署相关的内容 一.跨域 1.跨域的概念 1.什么是跨域? 一个请求的URL由协议,域名,端口号组成,以百度的htt ...

  5. Servlet入门(第一个Servlet的Web程序)

    新建maven项目,注意项目的类型 project名为ServletExample 点击Finish.建立maven项目完毕例如以下 生成后的文件夹没有java源代码文件夹.依照maven的约定,还要 ...

  6. 程序猿修仙之路--数据结构之你是否真的懂数组? c#socket TCP同步网络通信 用lambda表达式树替代反射 ASP.NET MVC如何做一个简单的非法登录拦截

    程序猿修仙之路--数据结构之你是否真的懂数组?   数据结构 但凡IT江湖侠士,算法与数据结构为必修之课.早有前辈已经明确指出:程序=算法+数据结构  .要想在之后的江湖历练中通关,数据结构必不可少. ...

  7. 【Asp.net入门07】第一个ASP.NET 应用程序-创建数据模型和存储库

    1.理解概念 先理解一下两个概念. 模型 模型是指数据的结构类型,以及可调用的方法.对面向对象编程方法来说,其实就是类.模型类就是一个描述数据的类.只有把数据按一定方式描述出来,我们才能在程序中方便地 ...

  8. 第一个asp.net MVC5+ExtJS6入门案例项目

    最近在学习asp.net MVC,结合前段时间学习的ExtJS,做了一个入门示例.不过还有一个json日期显示的问题没有解决. [思路] 1.先搭建一个asp.net MVC项目. 2.将MVC项目的 ...

  9. 【Asp.net入门04】第一个ASP.NET 应用程序-如何添加Web窗体到网站中

    添加Web窗体 本部分内容: 什么是web form 怎样添加web form 1.添加Web窗体到项目中 Web 窗体是一项 ASP.NET 功能,您可以使用它为 Web 应用程序创建用户界面.We ...

随机推荐

  1. js最简单的动画

    $(document).ready(function(){ //�ֶ�����ҳ��Ԫ�� $("#reset").click(function(){ $("*" ...

  2. Scrum立会报告+燃尽图(Final阶段第一次)

    此作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2480 项目地址:https://coding.net/u/wuyy694 ...

  3. TeamWork#2,Week 5,Our Measurement of Contribution to the Team

    经过了今天下午将近两个小时的激烈讨论,我们最终确定了我们的团队贡献分的分配方式,这种方式是我们团队都能接受的. 我们的分配方式一定程度上借鉴了valve公司的队友评估原则,但是又不单单是这样.我们的分 ...

  4. BUAAMOOC-Alpha版本发布说明

    BUAAMOOC-Alpha版本发布说明 本说明为BUAAMOOCv1.0版发布说明. 软件截图 上届软件截图 可以看到上届的界面做的很简陋,对于登录.查看课程列表.观看视频等操作需要跳转多个页面,视 ...

  5. 20162319 实验四 Android程序设计

    Android Stuidio的安装测试: 完成Hello World, 要求修改res目录中的内容,Hello World后要显示自己的学号 ·实验过程 完成任务一,只需在Android应用程序文件 ...

  6. 初涉JSP+JDBC 基于SQL2008的登陆验证程序

    简单的以代码的形式纪念一下,因为现在还没有解决SQL2008驱动的问题,并且有好多东西要学,所以日后会有更新~ 所安装的软件有:SQL2008,eclipse,tomcat,JDK,涉及环境配置.等等 ...

  7. 初期测评 A 排序

    https://vjudge.net/contest/240302#problem/A 输入一行数字,如果我们把这行数字中的‘5’都看成空格,那么就得到一行用空格分割的若干非负整数(可能有些整数以‘0 ...

  8. call()方法和apply()方法

    最近又遇到了JacvaScript中的call()方法和apply()方法,而在某些时候这两个方法还确实是十分重要的,那么就让我总结这两个方法的使用和区别吧. 1. 每个函数都包含两个非继承而来的方法 ...

  9. epel [Errno 14] problem making ssl connection

    问题描述: 执行yum命令时,报错[Errno 14] problem making ssl connection 问题分析: ssl证书问题 问题解决: sed -i 's/^#baseurl/ba ...

  10. dedecms 织梦本地调试 后台反映非常慢的处理办法

    最近需要做几个企业站,所以呢,考虑了一下,没有用phpcms,而选择了 织梦.毕竟么,织梦用来做企业站还是比较合适的.好了,进正题: 在本地调试的时候,会非常的卡顿.调试的方法如下: 安装目录/dat ...