第一篇:中央美院动态人体的速写急训
中央美院动态人体的速写急训--五
线法
能够快速而准确的表达出形态各异的性感身材当然是每个人都梦寐以求的事情,在动态人体速写中,如果你能注意“5线法”,离这个目标就不远了,其分别为:肩线,髋线,躯干线,重心线和脖子线,我的意思是说,只要你能掌握这5条线的精髓,能够满足我们前面说到的愿望了。
能够快速而准确的表达出形态各异的性感身材当然是每个人都梦
寐以求的事情,在动态人体速写中,如果你能注意“5线法”,离这个目标就不远了,其分别为:肩线,髋线,躯干线,重心线和脖子线,我的意思是说,只要你能掌握这5条线的精髓,就足够满足我们前面说到的愿望了。千万不要一开始就被什么锁骨,胫骨,肩胛骨,胸锁乳突肌,二头肌,三头肌什么的细节吸引,也不用考虑观影关系和色彩,那对初学者的你来说都是很高深而难以理解的知识。否则从一个更大的角度看,一开始你就陷入了细节,你唯一需要做的就是遵循并牢记我的法则:找到构建并决定人体动态的五条线,这样你才可能做到一天画上100个动态。
如果你以为做到这一点很容易,那你又打错特错了,注意这五条线并非简单的直线,他们存在前后左右或S形的空间弯曲关系,所以你可以想象他们能够结合衍生出多少种变化情况。
每张速写的速度控制在一到两分钟内完成,如果你能做到这一点那我就非常敬佩了,因为这个速度跟我的已经非常接近了。
你不仅要学会这种方法,更要将之形成一种绘画习惯,并且一定一体要做到画的足够快,这样你才能保证你是用思维在绘画,而不是拿着笔在那儿凭感觉慢慢腾腾的描。
记住速写的目的,速写的目的就是为了让你最快速的构建准确的形态,所以为了节约时间和提高速度,鼻子眼睛什么的都可以忽略,你永远要站在一个很高的角度来纵观全局。
传统的人体绘画总是找些身材臃肿的老头老太太作为练习对象,如果你对那个实在提不起兴趣的话就该换换口味,记住永远从你感兴趣的东西入手。
这一张就有点深入一些细节了,当然这样你能表现多一些的东西,保持一种绘画的节奏,画得快并不是你的手挥舞得让人眼花缭乱,而是你能非常准确的定位出各部分的比例和位置关系,不用将时间浪费在反复调整和对比上。或许你拿着笔先测量一番也能做到比例丝毫不差,但是那并不重要,我们要保证的是一种形态的“正确”,而不是将比例临摹的“丝毫不差”。一开始就学会用眼睛去目测,不要借助笔和带有格子的纸张之类的工具,这样能训练你对形体的一种把握能力,否则你只是在运用绘画的技巧而不是能力。
有些人告诉你一天画100张不完整的画不如认真的画一张画,这句话某种程度上是正确的,它告诉你细节的重要性,某种程度上是错的,因为他忽视了大量构图和形态构建的重要性,何况“完整”是一个相对的概念。
像这种大幅度的运动形态很考验你对结构和形态的理解能力,平时做角色设定一般不会涉及这种动作,但是这在画漫画和插画的时候非常重要,因为大量的形态积累构成了镜头语言中的很大部分比例
我非常喜欢这样的动态,因为充分展示了女人的线条感,有时候我会不自觉将腿画的更加修长,我觉得这样更加性感。
虽然没有细节,但是基本形态很简单的就勾勒出来了,这样的练习必须是大量的。
第二篇:人物与人体速写
人物与人体速写
一、人物速写
1、五官塑造
虽然在大多情况下,人物速写对五官的塑造不用过于详实,但简练绝不等同于简单。许学生在刻画时,把五官处理得简单、草率、孤立,是因为:
A、对五官的本体结构缺乏深入的了解,画起来只知道被动抄袭。B、只把精力放在本体结构的塑造上,而没有照顾到周边结构,使五官与头部之间缺乏联系,从而造成平面、孤立的效果。如:画嘴部时,只是考虑唇本身的形体轮廓,不考虑人中(鼻子和嘴巴的桥梁)、下唇方肌、唇三角肌和嘴唇的关系。
2、手脚刻画
手是仅次于头部的关键部位,被视为人的第二表情区。我们可以通过不同外形的手来判断一个人的年龄、性别、职业,也可以根据手的特定姿态来推断对象的情绪、意图。在刻画手的过程中我们需要注意以下几点:
A、腕部的正确刻画:腕是前臂向手掌过渡的桥梁,也是一个极易被忽略的部位。对腕部的忽略或塑造不当会使手和前臂的关系生硬、不自然。B、手在全身的比例及手自身的比例关系。C、手掌形体透视的准确性;许多学生在画手时总会过早地陷入对手指的具体描绘而忽略对手指与手掌关系的把握,待手指画好之后才发现关系失调,结果是擦来改去,费力却不讨好。经验证明,只有掌握好手掌的形体透视,找准手指与手掌的相互关系,手指的刻画方能准确到位。另外,在手指多变的动态下,我们还需要注意到无论姿态如何变动,手指相关关节总处在一条弧线上。
脚虽然大多情况都处在鞋的包裹中,但鞋为脚做,其设计必然体现脚的形体特征,更何况鞋一般都是‘贴身设计’。通过实践我们会发现,脚的形体结构和动势特征总能通过鞋的外形变化和结构分割,有选择、有重点的刻画来实现。
3、与衣褶相关的几个因素
适量地刻刻画画衣褶会对形体动态的表现、画面疏密关系的组织产生很大的帮助。衣褶的产生主要与下列因素有关:
A、运动
形体运动中衣服爱到牵扯必然造成有些地方绷紧而帖体、有些地方离体且因衣服的余量而产生衣褶。一般情况下,衣褶的方向和相关部位的运动方向是一致的。B、衣款
不同的衣服款式为不同环境、状态下的人而设计,它的外形及身体结合的状态也必然不同。如西服为相对静态下的人群设计,衣款相对合体。身着西服的人两肩下垂、双腿直立时服装外形舒展、挺括,几乎无任何衣褶产生,而在动作较大时则会有大量衣褶出现。休闲运动款的服装为动态下的人群设计,衣服会相对宽松、余量多,使人体有一个更加舒适的空间,活动起来也就人方便自如。所以,在动、静态下都会有不少衣褶出现。这些都是我们在观察和表现对象时认真分析、总结。C、衣料
服装衣料有厚薄、软硬、细腻与粗犷之分,不同衣料的服装所产生的衣褶会各有特点。如化纤料衣褶较脆硬、丝绸料衣褶较圆润顺滑等。
4、几个不可忽视的部位
常态下的人体都是被服装包裹和装饰的,如何通过服装这个软体去反映人体这个实体,在人物速写中就显得非常重要。除了人体知识可以帮助我们之外,对服装和着装者的关系的了解也是非常必要的。下面几个部位也是必须引起我们关注的:
A、露与不露的交界
指领口、袖口、裤脚、裙摆处。因为这些部位处在包与不包的边缘,与服装的其他部位相比,重要的作用(事实上,这些部位也是服装款式变化的焦点部位)。
B、上衣与下衣的交界
上衣有长款、短款之区别,与下及的交界部分也因此而不同。在观察和表现时一定要注意其下缘是如何围绕着形体起伏而运动的、如何随体面转折而变化的,这对刻画内部形体结构有着直接的帮助。
C、衣服本身的结构线
为了使衣服更合体,穿着更舒适,许多服装结构线应运而生,如肩线、袖笼、门襟等。对这些部位和适当选取的有重点的描绘会对形态的刻画产生意想不到的帮助。
D、服装上纹理图案的处理
适当的选取、得当的处理有助于表现画面疏密组织和形体起伏,但一定要考虑到这些花纹图案随形体结构起伏而产生的透视变化。
5、组合
A人与物的组合 背景是画面内容的延伸,对表现人物的精神状态起着重要的辅助作用。我们在完成一幅人物速写后,可主动把人物所处的环境给予一定表现,以提高我们对画面的综合控制能力。所衬景物可有取舍,但一定要根据画面需要,必须符合人物所需,以景衬人,而非以景夺人。另外,还要注意人景之间在表现手法上的统一。
B、人与人的组合 组合不是单个人物的罗列,人与人之间必须有联系、有呼应,相互之间的比例、透视准确,方能成为一张生动的人物组合作品。在组合中,我们还要注意角度的选择和人物之间交接处的处理。
C、实组全与虚组合 这里说的实组合是指已经摆好的组合,虚组合指不同时间、空间的人物及景物在画面上的自由组合。后者要求作画者有更强的主动处理和把握画面的能力。在虚组合中我们需要注意:
a、状态的变化
坐姿、站姿卧姿蹲姿相互结合。b、角度的差异
正面、侧面、斜面相互结合。
c、形象上的区别
形象上的区别包括发型、脸形、五官、身材、着装等方面的区别。d、组合炎于创作的意义
组合是由单个人物的刻画到多种关系的处理,这样的训练不仅能提高我们的速写应试能力,更重要的是,随着驾驭画面诸因互素能力的增强,创作中的许多问题也会迎刃而解。
6、默写
默写是速写训练的一种很好的学习方法,它能有效地帮助我们发现和解决问题,与写生起到有效的互动作用。在默写中,个人的主动造型能力能得到充分的体现。近几年来,许多院校都把它作炎速写的考查方式之一,目地的考察学生能否掌握基本造型规律和形体比例结构。
默写能力的提高是一个渐进的过程,临时抱佛脚的方法是不可取的,也没有用的。只有行之有效的方法和刻苦的训练相结合,才能取得良好的效果。一般可采用;
A、临默、写默、看默相结合 入手时可先采取临默(先临摹后默写)的方法,难度相对较低,而后过渡到写默(先写生后默写),最后再进行看默。在进行临默、写默时注意一定要把默写的结果与临本或写生的原稿相对照,必要时可做一些改动,以便及时发现和解决问题。看默可以说是默写的最高阶段,一般采取先让模特摆姿态,画者从不同角度观察了解对象的特征。然后选择自己喜欢的角度进行默写,再让模特回到原位,进行检查、对照,对默写作品进行适当修改。当然,我们也可以随时把生活中观察到的形象用默写的方式表现出来。
B、从单人默写到组合默写,由静态默写到动态默写,逐渐提升难度。C、局部默写和整体默写相组合。
二、人体速写
1、动式
在画人体速写时,首先,要注意人体形态的整体动式。无论人体是躺、坐、立,都会形成一种动式,通过观察发现躯体的动式方向,形态的韵律和人体各部位的节奏所具有的人体美感。
2、姿态
人体的姿势多种多样,自从把人体列入学习造型艺术训练之时起,绘画就一直在寻找挖掘变化无穷的人体姿态。可以说任何一个模特都有自身的形态语汇,这种形态语汇就是我们要刻画的姿态。
4、结构
人体是由头部、胸廓、骨盆三个比较整齐的休块构成,由脊柱自身的生理弯曲展现一同角度、不同幅度的扭转。四肢是分别依附在胸廓和骨盆的肢体。在四肢上的手和脚,由于骨骼结构丰富,它们更具表情,如:芭蕾舞演员可以通过他们的手与脚传递出丰富的情感信息。所以,在刻画局部结构时要用心、仔细。
第三篇:《速写》实训大纲
《速写》实训大纲
课程名称:速写
英文名称:
课程编号:
学时数及学分:本科64学时(第二学年上期)4学分
教材名称及作者、出版社、出版时间: 《速写》 林钰源岭南美术出版社 2005年
大纲主笔人:杜国赞
编写日期: 2005年12月
一、课程目的、要求与任务
速写这门课程,也是一门古老的艺术,它以在实验手绘中训练我们敏锐的观察能力、扎实的造型能力、极强的概括能力为目的,同时也是我们收集素材的重要手段,我们要随时随地注意观察生活中一切,寻求美的东西,通过速写积累,成为你创作或设计的灵感。
设计艺术各专业必须注重速写能力的训练,各专业所要求虽不完全一样,但除了对线条本身的追求以外,都要能表现强烈的空间意识、平面意识、大局观意识。
二、大纲基本内容及学时分配
本课程实验部分主要通过临摹和写生等方式,掌握不同的表现方法、技巧、语言等,通过大量速写训练解决专业造型与专业表现能力。
第一部分:人物速写(20学时)
本阶段的主要教学内容包括:
1、通过手绘临摹人体各部位解剖知识
2、训练人物速写不同表现方法
3、人物组合、场景写生训练。
重点掌握:头像、衣纹写生,注重培养学生画速写的兴趣,养成经常画速写的习惯,多讲解有关人体解剖方面的知识。
主要教学手段:
1、每天应该布置固定的速写作业量(应不少于10张),从严要
求,2、学生开初应多临摹
3、老师应多示范、多讲解
4、注意不同工具和材料运用。
第二部分:建筑室内速写(12学时)
本阶段的主要教学内容包括:
1、注重构图训练、追求画面强烈的形式感
2、体会线条在室内建筑、家具、装饰中的变化,做到直而不硬,柔而不软
3、注意每张速写的训练目的性:构图?线条?黑白?
重点掌握:在手绘中强化空间意识,体会线条在室内建筑、家具、装饰中的变化,注重装饰性,使线条富有节奏和美感。
主要教学手段:
1、以不同的室内环境进行写生如:寝室、教室、家居、图书
馆和商场等公众场所
2、强调优秀作品的临摹
3、不同风格的训练
4、注意在俯视、仰视中对象的透视变化训练
5、教师多讲解、多演示
6、教师应加强写生训练,但要严加管理,有组织、有纪律。
第三部分:自然风景写生(15学时)
本阶段的主要教学内容包括:
1、先注重自然风景中,植物、山石、村舍的不同训练
2、加强景物取舍、组织画面的能力、层次空间处理能力训练
3、自然风景写生中俯视、平视、仰视处理
4、注意线条、黑白的组织变化、加强节奏感、虚实等处理。
重点掌握:在动手绘画中注意线条在自然风景写生中的富有韵律的变化,特别是不同物象的符号化和形象化,加强主观取舍和虚实处理。
主要教学手段:
1、在速写训练的同时加强对中外古典与现代不同风格的园林、小区的体验、收集,2、以生动的优秀的范画让学生学会多角度,不同技法的表现对象。
第四部分:建筑景观写生(13学时)
本阶段的主要教学内容包括:
1、以建筑、景观、园林为对象加强在速写中线条、调子、黑白的训练,让学生熟练掌握建筑画表现技法,在传统与现代中通过线条得以表现
2、以不同软、硬笔和各种材料,通过线条粗细变化或线面结合甚至各种肌理等方式,充分表现建筑在空间中的结构、透视变化及色彩变化
3、室内和建筑写生是整个教学中的重点,可以运用色彩进行快速表现,完成速写阶段性教学。
重点掌握:在写生中加强对自然风景和人文景观的结合处理,注意画面均衡和对比,加大空间感,训练学生主观处理画面的能力,培养作品意识。
主要教学手段:
1、在速写训练的同时加强对中外古典与现代不同风格的园林、小区的体验、收集,2、特别是园林方向的同学在速写过程中学习那些优秀园林、小区的设计方案,多角度、不同技法的表现对象,在速写中老师应注入专业知识讲解,在整个速写训练过程中,教师要培养学生慢写和快写的不同能力。
三、与其他课程的关系
本门课程主要为后续艺术设计专业课程打基础。
四、考核方式
按实训考试部分占期末总成绩60%进行成绩评估。
五、参考书目
1、《素描风景》郭涌上海书店出版社
2、《速写要素》张丽华 人民美术出版社
3、《速写》孙嘉英清华大学出版社
4、《速写与表现》刘宏广西美术出版社
第四篇:坐姿人物动态速写教学反思
坐姿要让学生理解,前提是站姿必须理解,然后区分二者的区别。从理论上来分析,坐姿在比例上、透视上,有了明显的变化,所以有一些概念是学生要熟记的,比如坐姿首先要分几种,比例不同而透视的变化主要在大腿与臀部,并且这些比例与透视的变化大小与人物的本身身材的高矮胖瘦有一些关系,所以这些在观察中是一定要谨记的,一定要理论结合实际并加以思考,反复比较,以求准确。
坐姿体块转折的变化更为复杂,因为还交错着大腿与臀部的透视变化,所以让学生画画体块转折与透视的解剖分析图是很有必要的。每一张先练习解剖图后再画一张完整的速写,可以更好地理解对象。
其次,在比较难的部位,如臀部和大腿这一块,可以单独拿出来练习,解决难点。
在示范的过程中,重点讲几个难点部分,分两三个角度反复讲解,让学生能立体领会对象,更好的提高分析能力。
总的来说,通过这一节课的学习和训练,学生理解到了难点,学到了要点,提高画面的质量还要时间的磨练。另外,找一些不同风格的优秀作品来提高学生的审美也是很有必要的。比如大师席勒、安格尔等等不同风格的速写都是精华之作,非常值得我们学习和借鉴,引导学生来欣赏这些作品,能让他们更好地明白美的意义,提高速写的品位。
我本人比较欣赏席勒的速写,线条刚劲有力,简约并极富感染力。向这些大师学习,是一条很好的审美捷径。这种审美能力的觉悟和提高,往往比呆板地理解一个理论要来得更有意义一些,也才是艺术表现的真正目的。所以,我推荐多临摹大师的作品,反复地临摹,是非常有必要的。不要学习那些很差的画册,当你的眼光变低了就很难提高了。因此,选择学习目标和偶像是非常重要的。在学习大师的过程中,自己的眼光在不断地提高,只有眼高了手才能慢慢跟上来。
第五篇:动态实训报告
《动态网站建设》
实训报告
系 别 经管系 专 业 计算机信息管理 班 级 G12450301 姓 名 包亚红 指导教师 马涛 完成时间 12月14号
0
前言
ASP.NET是Web开发技术高速发展的产物,是当前主流的Web应用程序开发技术之一,它构建与.NET Framework之上,使得从传统的数据库访问技术到如今的分布式应用开发技术等一系列技术都发生了变革。而且,它在快速发展、编译与部署方面的优势是任何一种互联网开发技术都无可比拟的。也正是因为这些优点,一批又一批的开发人员加入到ASP.NET的开发阵营中。通过ASP.NET,我们可以简单快速的开发出企业级的、高性能的、便于维护的Web应用系统。
ASP.NET技术是微软近年来推出的主要技术,自从.NET2.0版本问世之后,越来越多的开发人员和企业已经能够接受.NET技术带来的革新。ASP.NET4.0是目前微软最新的Web应用开发可视化平台,它不仅在语言和技术上弥补了原有的ASP.NET2.0与ASP.NET3.0的不足,并提供了很多新的控件和技术特性以提升开发人员的生产力。与之相应,Visual Studio 2010除了保持与Visual Studio 旧版本相同的特点之外,也提供了大量新的帮助提升开发人员的编程效率。
鉴于ASP.NET所涉及的内容众多,本次实训尽可能介绍各个方面的主要内容,对实际设计与开发过程中使用较少的知识点只作了简单介绍,而对那些应用型强、开发中使用频率较高的知识点则通过一系列小规模精选案例进行相对全面、深入的阐述和分析。
目录
一、实训目的与要求.......................................3
二、实训任务.............................................3
一、具有简单学生成绩查询功能的web应用程序............3
二、具有简单登陆验证和密码忘记功能的web应用程序......3
三、实训要求.............................................3
四、网站设计.............................................3
一、具有简单学生成绩查询功能的Web应用程序............3
1、项目所涉及的知识点..............................3
2、设计方案........................................4
3、设计过程........................................6
4、设计结果.......................................11
二、具有简单登陆验证和密码忘记功能的web应用程序.....11
1、设计方案.......................................11
2、设计过程.......................................12
3、设计结果.......................................16
五、设计中遇到的问题及解决方法..........................18
六、参考资料............................................19
七、实训总结............................................20
八、实训成绩 ____________________......................20
一、实训目的与要求
《动态网站建设》课程实训是我院计算机信息管理专业学生,网站建设集中实训的重要环节之一,是学习完《静态网站建设》、《动态网站建设》等课程后进行的一次全面的综合练习。其目的在于加深对网站开发的理解,掌握asp.net技术,使用c#语言进行编程和运用Dreamweaver制作网页的基本方法,提高开发网站实际操作的能力。
二、实训任务
一、具有简单学生成绩查询功能的web应用程序
二、具有简单登陆验证和密码忘记功能的web应用程序
三、实训要求
程序调试无异常,能够正常运行。
页面整齐、美观。
关键代码部分应有必要注释。
四、网站设计
一、具有简单学生成绩查询功能的Web应用程序
1、项目所涉及的知识点
1>、C#(2)、变量与常量
(3)、运算符和表达式
(4)、流程控制语句 2>、服务器控件
(1)、服务器控件简介(2)、标准WEB服务器控件(3)、验证控件实训方法 3>、使用数据库系统
(1)、创建Microsoft SQL Seever 数据库(2)、常用SQL语句
(3)、Microsoft SQL Seever常用操作(4)、创建Microsoft Access数据库 4>、使用数据控件访问数据库(1)、使用数据源文件(2)、使用GridView控件(3)、使用FormView控件(4)、使用Reprater控件(5)、使用DetailsView控件
2、设计方案
(1)数据库设计:在Microsoft Access中创建一个名为student的数据库,在其中包括uid(学号,主键)、unname(姓名)、unnex(性别)、class(班级)、math(数学)、VFP(数据库)、dongtai(动态网站)、tongji(统计学)8个字段的gread表,并向表中添加相关数据,如下图所示。
(2)学生成绩查询系统界面设置
新建一个ASP.NET网站,向Default.aspx页面添加一个用于布局的HTML表格,添加一个下拉列表框DropDownList,一个文本框控件TextBox,三个按钮Button1(查询)、Button2(显示全部)、Button3(退出系统),一个用于显示student数据库数据的GridView控件和四个分别以学号,姓名,班级,全部查询的SqlDataSourse控件。分别为SqlDataSourse1、SqlDataSourse2、SqlDataSourse3、SqlDataSourse4.界面设置如下图所示。
(3)登陆系统界面设置
给Default.aspx页面添加一个Web窗体,命名为chapter1, 在chapter1中添加两个文本框控件TextBox1和TextBox2,一个Button按钮。
3、设计过程
(1)学生成绩查询系统页面控件属性设置
设置下拉列表DropDownList的ID属性为DropType,文本框TextBox1的ID属性为TextKey,按钮Button1的ID属性为ButtonQuery,Text属性为查询,Button2的Text属性为显示全部,Button3的Text属性为退出系统,GridView的ShowFooter属性为True,AutoGenerateColumns属性为False.设置数据库控件SqlDataSourse1的属性,为其配置数据源。在其任务菜单中执行“配置数据源”命令,在打开的对话框中单击“浏览”按钮,选择已经存放在APP-Data下的数据库student.mdb文件。在配置“SELECT”对话框中选择“制定自定义SQL或语句存储过程”。单击“下一步”按钮,打开如图所示的对话框,录入如下图所示的SQL语句是返回记录集中包含一个
总分计算字段。
单击“下一步”按钮,在打开的对话框中设置查询条件为uid 的数据等于TextKey的Text属性值,单击“下一步”按钮,测试查询,单击“完成”按钮完成对SqlDataSourse1的数据配置。SqlDataSourse2与SqlDataSourse3的数据配置方法与SqlDataSourse1的方法基本相同,为了使程序支持“模糊查询”在按姓名和班级查询时使用了“LIKE”运算符。SqlDataSourse2的SELECT语句设置
SqlDataSourse3的SELECT语句设置
SqlDataSourse4的设置只是去掉了WHERE字句,用于无条件的返回记录。
(2)学生成绩查询系统页面控件代码设置 编写页页面装入时执行的代码
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
DropType.Items.Add(“学号”);//向下拉列表中添加供选项
DropType.Items.Add(“姓名”);
DropType.Items.Add(“班级”);
GridView1.DataSource = SqlDataSource6;//在GridView1中显示所有数据
GridView1.DataBind();
}
TextBox1.Focus();//本框得到焦点
} 查询按钮被单击时产生的事件代码
protected void ButtonQuery_Click1(object sender, EventArgs e)
{
if(TextBox1.Text == “")//如果用户没有输入查询关键字
{
Response.Write(”
return;
}
switch(DropType.Text)//根据用户选项将GridView控件绑定到不同的数据源
{
case ”学号“:
GridView1.DataSource = SqlDataSource3;
GridView1.DataBind();
break;
case ”姓名“:
GridView1.DataSource = SqlDataSource4;
GridView1.DataBind();
break;
case ”性别“:
GridView1.DataSource = SqlDataSource5;
GridView1.DataBind();
break;
}
if(GridView1.Rows.Count == 0)//如果GridView包含的行数为0
{
Response.Write(”“);
TextBox1.Text = ”“;
GridView1.DataSource = SqlDataSource6;
GridView1.DataBind();
}
} “显示全部”按钮被单击时执行的事件代码
protected void Button2_Click(object sender, EventArgs e)
{
GridView1.DataSource = SqlDataSource6;
GridView1.DataBind();
} GridView控件发生行绑定时执行的事件代码
double sum1 = 0, sum2 = 0, sum3 = 0, sum4 = 0;//在事件过程之外申明存储总和的变量
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if(e.Row.RowIndex >-1)
{
sum1 += Convert.ToDouble(e.Row.Cells[5].Text);//累计总和
sum2 += Convert.ToDouble(e.Row.Cells[6].Text);
sum3 += Convert.ToDouble(e.Row.Cells[7].Text);
sum4 += Convert.ToDouble(e.Row.Cells[8].Text);
}
else if(e.Row.RowType == DataControlRowType.Footer)
{
e.Row.Cells[4].Text = ”平均:“;
e.Row.Cells[5].Text=((double)(sum1GridView1.Rows.Count)).ToString(”0.00“);
e.Row.Cells[6].Text=((double)(sum2GridView1.Rows.Count)).ToString(”0.00“);
e.Row.Cells[7].Text=((double)(sum3GridView1.Rows.Count)).ToString(”0.00“);
e.Row.Cells[8].Text=((double)(sum4GridView1.Rows.Count)).ToString(”0.00“);
}
}(3)登陆界面控件属性设置
Button1的Text属性设为“登陆”TextBox2的TextMode属性为PassWord(4)登陆界面控件代码设置 单击“登陆”按钮时的事件代码
protected void Button1_Click(object sender, EventArgs e)
{
string strName = TextBox1.Text;
string strPwd = TextBox2.Text;
if(strName == ”包亚红“ && strPwd == ”123“)//用户名和密码设置
{
Response.Write(”“);
Response.Redirect(”Default.aspx“);
}
else
{
Response.Write(”“);
}
4、设计结果
用户输入用户名,输入密码,点击“登陆”按钮,当用户名和密码都正确时,进入学生成绩查询系统的界面。
登陆成功进入学生成绩查询系统,学生成绩查询系统功能如图所示,可按班级,姓名,学号查询所需要的学生信息,查询完毕后,点击“退出系统”按钮返回到登陆界面。
二、具有简单登陆验证和密码忘记功能的web应用程序
1、设计方案
建一个ASP.NET网站,向Default.aspx页面添加两个Web--窗体,分别命名为chapter1和chapter7-2-1。
在chapter1中添加一个用于布局的HTML表格,向表格中添加三个TABLE控件,分别为TABLE1(新闻发布系统登陆)、TABLE2(用户名)、TABLE3(密码),两个TextBox控件,三个LinkBottou控件,分别为LinkBottou1(登陆)、LinkBottou2(注册)、LinkBottou3(忘记密码)。如下图所示
在chapter7-2-1中添加一个用于布局的HTML表格,向表格中添加两个LABLE控件,两个TextBox控件,两个LinkButton控件,分别为LinkButton1(找回)、LinkButton2(返回),界面如下图所示
2、设计过程
(1)前台界面设计
新建一个数据库student,向其中添加一张新表users,在users表中添加字段username(用户名、主键)、userpwd(密码)、level(用户级别)、question(找回密码提示问题)、answer(预留的问题答案)。表设计完成后,适当的填入数据,其中“level”只能填入“admin(管理员)”和“users(普通用户)”。如下图所示
cahpter1中,TextBox2的TextMode属性设置为PassWord chapter7-2-1中,“返回”按钮的PostBackUrl属性指向登陆界面chapter1。(2)后台程序代码
1>chapter1页面中“登陆”链接按钮的代码
protected void LinkButton1_Click1(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection();
//设置conn对象的连接字符串
conn.ConnectionString = @”Data Source=.SQLEXPRESS;AttachDbFilename=F:新建文件夹案例7—2案例7—2App_DatanewsSystem.mdf;Integrated Security=True;User Instance=True“;
conn.Open();
string selectSql = ”select * from users where username='“ +TextBox1.Text + ”'and userpwd='“ + TextBox2.Text + ”'“;
SqlDataAdapter da = new SqlDataAdapter();
//创建DataAdapter对象
da.SelectCommand = new SqlCommand(selectSql, conn);
DataSet ds = new DataSet();
da.Fill(ds);
//将DataAdapter执行select语句的结果填充到DataSet对象
conn.Close();
//断开链接,使用DataSet的离线操作模式
if(ds.Tables[0].Rows.Count == 0)
{
Response.Write(”“);
return;
}
DataRow myRow = ds.Tables[0].Rows[0];
if(myRow[2].ToString().Trim()== ”admin“)
{
Response.Write(”“);
}
else
{
Response.Write(”“);
}
} 2>chapter1页面中“忘记密码”链接按钮的代码:
protected void LinkButton3_Click(object sender, EventArgs e)
{
if(TextBox1.Text == ”“)
{
Response.Write(”“);
return;
}/通过查询字符串将用户名传递给找回密码页面
Response.Redirect(”chapter7-2-1.aspx?username=“ + TextBox1.Text);
}
3>chapter7-2-1的页面加载事件代码:
protected void Page_Load(object sender, EventArgs e)
{ if(!IsPostBack)
//如果页面时首次加载
{
if(Request.QueryString[”username“]==null)
{
//若查询字符串的值为null,则返回登录界面,防止误入
Response.Redirect(”WebForm1.aspx“);
}
} //将登录页面传递来的用户名显示在标签控件中
Label3.Text=Request.QueryString[”username“];
SqlConnection conn = new SqlConnection();
conn.ConnectionString = @”Data Source=.SQLEXPRESS;AttachDbFilename=F:新建文件夹案例7—2案例7—2App_DatanewsSystem.mdf;Integrated Security=True;User Instance=True“;
conn.Open();//设置查询字符串,查找同查询字符串传递的用户名一致的记录
string selectSql=”select * from users wherusername='“+Label3.Text+”'“;
SqlDataAdapter da = new SqlDataAdapter();//创建DataAdapter对象
da.SelectCommand = new SqlCommand(selectSql, conn);
DataSet ds = new DataSet();
da.Fill(ds);
conn.Close();
if(ds.Tables[0].Rows.Count == 0)//未找到符合条件的记录
{
Response.Write(”“);
return;
}
DataRow myRow = ds.Tables[0].Rows[0];
Label4.Text=myRow[3].ToString().Trim();} 4>chapter7-2-1页面中“找回”链接按钮的代码:
protected void LinkButton1_Click(object sender, EventArgs e){ SqlConnection conn = new SqlConnection();conn.ConnectionString=@”DataSource=.SQLEXPRESS;AttachDbFilename=F:新建文件夹案例7—2案例7—2App_DatanewsSystem.mdf;Integrated Security=True;User Instance=True“;
conn.Open();
//打开连接
string selectSql=”select * from users where username='“+Label3.Text+”'“;
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = new SqlCommand(selectSql, conn);
DataSet ds = new DataSet();//将DataAdapter执行SQL语句的结果填充到DataSet对象中
da.Fill(ds);
DataRow myRow=ds.Tables[0].Rows[0];
if(TextBox1.Text==myRow[4].ToString().Trim())
{ //创建CommandBuilder对象后,无需再使用DataAdapter的/UpdataCommand属性来执行更新操作,但前提是表一定要有主键
SqlCommandBuilder scb = new SqlCommandBuilder(da);
Random r=new Random();
string newpwd=r.Next(100000,999999).ToString();
Response.Write(”“);
myRow[”userpwd“]=newpwd;
//将新密码写入DataSet
da.Update(ds);
//将DataSet中的数据更改通过适配器回送到数据源
conn.Close();
}
else
{
Response.Write(”");
} }
3、设计结果
输入用户名和密码,当用户名和密码都正确时,登陆到系统,显示用户级别。如下图所示
当输入密码错误时,跳出对话框,提示用户名或密码错,如下图所示
当用户忘记密码时,可在输入用户名后单击“找回密码”按钮跳转到如下界面,找回密码。
在“你的答案”对应的TextBox控件中输入users表中预留问题所对应的相应答案,当答案正确时,生成新密码,按“返回”按钮,返回到登陆界面登陆系统。
五、设计中遇到的问题及解决方法
项目一
1、GridView1任务里编辑列时DataField与HeaderText混淆。
经过老师的讲解示范及同学们的帮助,搞明白里DataField与HeaderText的意思。
2、SqlDataSource配置数据源时发生错误。
之所以会在这块发生错误时因为搞清楚数据库连接及没有明白代码的意思,经过老师的讲解和与同学的探讨我们一起解决了这个问题。
项目二
1、数据库保存有问题,丢失不会找回。
刚开始我们使用本机创建数据库,这样的情况下,关机后就会还原,所以会丢失,在老师的讲解与同学的相互探讨下,在SQL Server或Access中创建并导入,这样就不会丢失。
2、“忘记密码”链接按钮的代码出错,页面跳转不了。
该链接按钮的主要作用是当忘记密码时跳转至“找回密码”页面找回密码,应该使用内置对象的Response对象的Redirect属性,该方法可以使浏览器立即重定向到程序指定的URL,可以为不同用户指定不同的页面。
3、“找回密码”时“找回”出现错误。
该项操作是用UpdataCommand属性来执行更新操作,但前
提是表一定要有主键,而我们大多同学都忽略了这个问题,当表中设置主键之后才可以使用UpdataCommand属性来执行更新操作,保存新密码。
六、参考资料
《ASP.NET 4.0 网站建设基础教程》主编:王翔
七、实训总结
两周的动态网站实训结束了。
两周的实训让我学到了好多知识也收获了好多,这次实训让我明白了我们实训的主要目的是让我们通过不断的上机实习以及使用它来解决一些力所能及的实际问题,这样,才能够更好的掌握技能,在遇到程序调试不通过时,会通过缩小范围的分析来锁定问题所在,因此,我提醒自己在编写程序时要特别注意细节方面的问题,一个小小的疏忽就能导致整个程序不能运行,做到有细心、有耐心的编写程序、检查代码的好习惯。
完成了两个项目,提高了运用计算机技术的素质。这次实训项目对于自己也是一个全新的挑战和对于自身能力的提高,在此期间,有老师和同学的帮助和讲解,让我认识到团队精神的重要性,一个懂得合作的团队的力量是无穷的,不管是什么困难,大家一起总会解决。遇到一些比较棘手的问题也学会了冷静地解决,而不是盲目地学习,在不断解决问题的同时自己也可以学到好多课本以外的知识,在完成作业时必须做到严谨,认真,有时一点小的错误会引发好多问题,同时也看到了自身的不足,要加强这类程序设计的练习,只有通过不断地去做,不断学习,才能发现更多的问题和学习的方法。学习是一个不进则退的过程,所以,需要更加努力。
感谢学校给我们这次实训的机会,感谢老师孜孜不倦的讲解,感谢同学们的帮助。
八、实训成绩
____________________