- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 本章总结 实现前台在线 调查功能 前台用户登录 前台用户注册 提交问卷 添加问卷 列表展示问卷 项目实战(四) 实现问卷后台 维护功能 查看单个问卷 * 1 使用FormView 控件显示数据和添加数据分别使用不同的模板列。 * 1 这一章节将使用Session 保存前台用户登录信息。 2 Repeater 控件一般用来显示数据,但是如果结合后台代码编程则可以提交数据。 * * * * 1 需要强调该页面有两个部分组成。 上一部分用来增加问卷名称,下一部分用来增加问卷题目。 * * 1 使用的两个表,分别为Survey 和 SurveyItem。 2 使用ViewState,这里属于需要使用ViewState 的情况,这个ID 为Survey 表插入数据以后生成的自增列的ID, 保存子表SurveyItem 数据时需要使用该ID。 3 SELECT SCOPE_IDENTITY() 可以和第八章和添加问卷的相应代码作比较。 4 使用控件的ValidationGroup属性实现分组验证:所有输入控件比如textbox,验证控件,按钮都包含该属性,只要将他们属性值设为相同,即可实现一组控件的提交,不会触发其它不相同组的控件。 * * 1 问卷名称是链接,问题个数指该份问卷下维护的问题个数。 * * 1 SelectCommand 中编写这样 SQL 语句的作用,主要是为了获得问题个数的数据。 2 主从表删除数据,删除主表数据也要删除从表数据。 3 由于不需要修改所有的字段,所以需要修改 UpdateCommand 属性。 * * 1 该页面中的数据分别从两个表中读取的。 问卷名称和日期从Survey 表读取,其余部分从SurveyItem表读取。 * * 从界面分解入手分析页面上下部分的不同实现方式。 * * 1 如何实现控件的隐藏。如果对控件的容器 tr 进行编程,首先需要设置其 id属性和 runat 属性, 然后该tr 就成为服务器端执行的控件,可以对它进行服务器端编程(如使用一般ASP.NET 控件)。 ShowItem 和 ShowDesc 为在后台实现的自定义方法,用来根据数据动态的控制界面的显示。 Container.ItemIndex表示Repeater 行的序号,然而这个序号是从0开始的,所以必须在它的值上加1。 * * * * 1 主要是提示区分前台用户和后台用户,它们使用的数据表不一样。 * * 1 注意和添加后台用户比较,他们只是使用的表不一样,实现的思路基本一致。 2 为了实现注册即登录,需要保存Session 数据。 * * 1 界面后后台登录的界面基本一致。 * * 1 需要强调实现和 后台用户登录基本一致。 2 强调Session 的使用,保存不同的数据应该使用不同的键值。 * * 1 左边的问卷名称是从数据表中读取的。 2 右边的页面为静态的内容。 * * 1 页面右边的显示和后台功能:问卷显示页面一致。 * * 1 整个功能可以使用一个aspx页面实现,使用控件(Label)的隐藏就可以使一个ASPX 页面有不同的页面呈现。 * * 1)使用了多个数据表,而且有依赖关系 2)显示数据需要使用 Survey 和 SurveyItem 两个表。 3)提交数据需要使用 SurveyResult 和 dbo.SurveyResultItem 两个表。 * * 1)该流程图为后台代码的处理过程。 * * 1 第一段代码。 1)这段代码实现了“没有登录提示并打开登录页面的功能”。 2) script标记之间的代码为在浏览器上执行的方法(函数)。 Alert(消息)为在浏览器上执行的提示方法。 window.open(地址)为在浏览器上执行的打开页面方法。 3 )应该结合流程图分析,首先要判断保存的Session 数据是否存在,如果不存在则执行该段代码。 2 第二段代码。 1) 正是体现了使用Repeater控件提交数据的应用。 2)上述代码对Repeater 控件的行的数据进行了遍历(循环操作),用到了Repeater 控件的Items 属性,可以像使用数组一样使用该属性中的元素;Repeater控件的行数可以使用rptSurveyView.Items.Count 这样的代码获取。FindControl方法用来找到行中的控件,它的参数就是控件的ID,该ID和模板列中控件的ID是一一对应的。然而使用FindControl方法得到的对象还需要使用如“as Label ”这样的代码,这里 “as ”是C# 的语法关键字,而 “La
文档评论(0)