【Asp.net入门11】第一个ASP.NET 应用程序-创建摘要视图
目前已经完成了应用程序的基本结构单元,受邀者也能够做出回复。这一节将添加一个支持组件,以显示收到的回复摘要,以便用户的朋友了解谁会参加晚会,并做出适当安排。在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 应用程序-创建摘要视图的更多相关文章
- 『Asp.Net 组件』第一个 Asp.Net 服务器组件:自己的文本框控件
代码: using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace DemoWebControl ...
- Vue Create 创建一个新项目 命令行创建和视图创建
Vue Create 创建一个新项目 命令行创建和视图创建 开始之前 你可以先 >>:cd desktop[将安装目录切换到桌面] >>:vue -V :Vue CLI 3.0 ...
- 【Asp.net入门02】搭建Asp.net开发环境
本节主要讲解: 什么是asp.net asp.net开发和运行环境介绍 1.什么是ASP.NET Asp.net不是一种编程语言,而是一种开发技术.我们可以利用这种技术所提供的类库,使用C#或者VB编 ...
- 学习ASP.NET Core(11)-解决跨域问题与程序部署
上一篇我们介绍了系统日志与测试相关的内容并添加了相关的功能:本章我们将介绍跨域与程序部署相关的内容 一.跨域 1.跨域的概念 1.什么是跨域? 一个请求的URL由协议,域名,端口号组成,以百度的htt ...
- Servlet入门(第一个Servlet的Web程序)
新建maven项目,注意项目的类型 project名为ServletExample 点击Finish.建立maven项目完毕例如以下 生成后的文件夹没有java源代码文件夹.依照maven的约定,还要 ...
- 程序猿修仙之路--数据结构之你是否真的懂数组? c#socket TCP同步网络通信 用lambda表达式树替代反射 ASP.NET MVC如何做一个简单的非法登录拦截
程序猿修仙之路--数据结构之你是否真的懂数组? 数据结构 但凡IT江湖侠士,算法与数据结构为必修之课.早有前辈已经明确指出:程序=算法+数据结构 .要想在之后的江湖历练中通关,数据结构必不可少. ...
- 【Asp.net入门07】第一个ASP.NET 应用程序-创建数据模型和存储库
1.理解概念 先理解一下两个概念. 模型 模型是指数据的结构类型,以及可调用的方法.对面向对象编程方法来说,其实就是类.模型类就是一个描述数据的类.只有把数据按一定方式描述出来,我们才能在程序中方便地 ...
- 第一个asp.net MVC5+ExtJS6入门案例项目
最近在学习asp.net MVC,结合前段时间学习的ExtJS,做了一个入门示例.不过还有一个json日期显示的问题没有解决. [思路] 1.先搭建一个asp.net MVC项目. 2.将MVC项目的 ...
- 【Asp.net入门04】第一个ASP.NET 应用程序-如何添加Web窗体到网站中
添加Web窗体 本部分内容: 什么是web form 怎样添加web form 1.添加Web窗体到项目中 Web 窗体是一项 ASP.NET 功能,您可以使用它为 Web 应用程序创建用户界面.We ...
随机推荐
- Python函数式编程中map()、reduce()和filter()函数的用法
Python中map().reduce()和filter()三个函数均是应用于序列的内置函数,分别对序列进行遍历.递归计算以及过滤操作.这三个内置函数在实际使用过程中常常和“行内函数”lambda函数 ...
- 移动设备检测类Mobile_Detect.php
移动设备检测类Mobile_Detect.php http://mobiledetect.net/ 分类:PHP 时间:2015年11月28日 Mobile_Detect.php是一个轻量级的开源移动 ...
- 奔跑吧DKY——团队Scrum冲刺阶段-Day 7
今日完成任务 谭鑫:将人物图添加到游戏以及商店界面中,实现商店的选择换装功能 黄宇塘:制作人物图.背景图 赵晓海:阅读所有代码测试所有功能,美化部分界面 方艺雯:为商店界面及关于界面添加必要文字说明 ...
- 用JAVA制作微型操作系统4月23日情况
弄好了一个自认为十分精美的界面,但本想着昨天就在开始按钮上先套入控制jp222面板上的jb2标签上的时间更新,这按钮起到开始线程的作用(我认为按钮应该可以通过t.start()来触发线程,结果不知为什 ...
- 第一次spring冲刺第5天
今天进行讨论基础功能的核心代码方面,还有简单的讨论继续关于界面的美化, 计算生成的答案功能 public class Core {// char[]h={'+','-','*','/'};int re ...
- Scrum Meeting Beta - 9
Scrum Meeting Beta - 9 NewTeam 2017/12/8 地点:新主楼F座二楼 任务反馈 团队成员 完成任务 计划任务 安万贺 解决离线状态下启动时报错的问题Issue #15 ...
- linux创建账户并自动生成主目录和主目录下的文件
# useradd -d /home/test -m test; 然后给test设置密码. # passwd test; 1. useradd 添加用户或更新新创建用户的默认信息 语法:useradd ...
- 对一致性Hash算法及java实现(转)
一致性Hash算法 关于一致性Hash算法,在我之前的博文中已经有多次提到了,MemCache超详细解读一文中"一致性Hash算法"部分,对于为什么要使用一致性Hash算法.一致性 ...
- Python高级特性:Python迭代、生成器、列表生成式
迭代 给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历称为迭代(Iteration). 在java和C语言中,迭代是通过循环list的下标来完成的,Pyth ...
- 【大数据】Kafka学习笔记
第1章 Kafka概述 1.1 消息队列 (1)点对点模式(一对一,消费者主动拉取数据,消息收到后消息清除) 点对点模型通常是一个基于拉取或者轮询的消息传送模型,这种模型从队列中请求信息,而不是将消息 ...