软件工程代码总结

管我坏不坏,又没叫你爱!
625次浏览
2020年03月21日 18:17
最佳经验
本文由作者推荐
网站开发 asp.net 还要学什么

1、事件 处理事件的方法 2、class和id的用途是不一样的;首先要说明一下,选择器一共有三种: html标记,class,id; html标记就不说了,class是对html标记选择器的一种扩展,CLASS可以给多个标记反复利用;而ID的目的在于被Javascript使用,来动态改变CSS,所以2种的实际用途是截然不同的。 如:"id"对应"#","class"对应"." .id是唯一标志的,在同一页面中不能有相同的值,class则没这约束。如: Css #div1{......} .div2{......} //class可以相同重复用

//id则是唯一的 如果你再加上 则会出错。

在CSS中ID的优先级是比CLASS高的 3、.clear{ clear:both } // CSS clear 属性 图像的左侧和右侧均不允许出现浮动元素: 4. 注意: asp开头和结尾说明这个控件是.net自带的控件 5, html中的标签 控件都有runat=server 的属性,写的时候VS会提示你输入这个属性,这个属性表示这是一个服务器端控件,即这个控件用来客户端和服务器端进行交互。

是sql的数据库文件,ldf是Sql数据库日志文件。这两个文件是互相关联的。你要打开的话要用sql企业管理器打开、 目录用来保存项目生成后程序集,它有Debug和Release两个版本,分别对应的文件夹为bin/Debug和bin/Release,这个文件夹是默认的输出路径,我们可以通过:项目属性—>配置属性—>输出路径来修改。 程序集:经由编译器编译得到的,供CLR进一步编译执行的那个中间产物,在WINDOWS系统中,它一般表现为·dll或者是·exe的格式,但是要注意,它们跟普通意义上的WIN32可执行程序是完全不同的东西,程序集必须依靠CLR才能顺利执行。 obj目录是用来保存每个模块的编译结果,在.NET中,编译是分模块进行的,编译整个完成后会合并为一个.DLL或.EXE保存到bin目录下。因为每次编译时默认都是采用增量编译,即只重新编译改变了的模块,obj保存每个模块的编译结果,用来加快编译速度。是否采用增量编译,可以通过:项目属性—>配置属性—>高级—>增量编译来设置。 9、文件:包含程序版本、信息、版权的属性文件 10.一般在vs里面新建一个页面会产生两种文件:一种是后缀名为.cs的,一种是.aspx. 简单的说,.cs文件一般是在里面实现功能的,而.aspx就是实现界面效果的。

区别:.cs文件里面写的是.net的代码,包括方法和字段,.aspx文件里面写的是html代码,再绑定.cs文件里的字段。 联系:项目中只有.cs文件在后台实现功能,.aspx文件能引导客户去使用这个功能。就像你在百度上提问问题一样,如果没有之个页面(即.aspx的界面效果),你就不知道把问题写在哪,点击什么提交上去。如果没有.cs页面实现的功能,你就没办法把提的问题交到百度服务器上去。 与的区别 目前很多人对和ASP概念混淆,其实两者是不同,ASP是解释性编程框架,而是编译性框架;无论是从执行效率和安全上都远远超过ASP;ASP文件的后缀是.asp而则是.aspx和.。实现了代码分离,让代码管理更加直观。 全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它[1] 是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。 13. PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。 (帽子).csproj————》扩展名 // .: 用户配置文件 .csproj是C#项目文件的扩展名,它是“C Sharp Project”的缩写。.net 开发环境中建立项目时,会产生.csproj 文件,这是C#的工程文件,其中记录了与工程有关的相关信息,例如包含的文件,程序的版本,所生成的文件的类型和位置的信息等。 15 .bin文件 .二进制文件,其用途依系统或应用而定 。一种文件格式binary的缩写。一个后缀名为".bin"的文件,只是表明它是binary格式。比如虚拟光驱文件常用".bin"作为后缀,但并不意味着所有bin文件都是虚拟光驱文件。 16.项目是在开发过程中为了便于管理而运用的代码管理方式,程序员在开发软件时可以根据各个类的不同功能而将其归类到不同的项目中。而一个或多个项目可以组成一个解决方

案。 说白了,项目就是为代码管理提供方便。 而代码的运行并不需要.csproj、.之类的文件,所以在开发完成之后生成的软件或网站中,不会有以上之类的文件。 因此: 在软件开发中需要项目进行代码管理, 而在软件使用中则不需要项目。 17.什么是sln文件 SLN 文件是Visual Studio开发套装进入.net时代后,使用解决方案文件(后缀为sln的文件)表示一个项目组,他通常包含一个项目中所有的工程文件信息。 是前台,表示设计页面,是后台,是代码功能实现,分开来设计是为了代码清晰,功能模块化,这是Code-Behind结构,即代码在页面HTML的后面。 在.aspx文件中,主要是页面的HTML; 而在.文件中,是C#代码,在.aspx中添加的控件的事件,它的代码都在.中。 19..aspx文件、.文件和.的一些说明 .aspx文件:(页面)书写页面代码。存储的是页面design代码。只是放各个控件的代码,处理代码一般放在.cs文件中。 .文件:(代码隐藏页)书写类代码。存储的是程序代码。一般存放与数据库连接和数据库相关的查询。更新。删除操作,还有各个按钮单击后发生的动作等。 .文件:书写页面设计代码。通常存放的是一些页面控件中的控件的配置信息,就是注册控件页面。这个东西是窗体设计器生成的代码文件,作用是对窗体上的控件执行初始化工作。 20. App_Data文件夹应该包含应用程序的本地数据存储。它通常以文件(诸如Microsoft Access或Microsoft SQL Server Express数据库、XML文件、文本文件以

及应用程序支持的任何其他文件)形式包含数据存储。该文件夹内容不由处理。该文件夹是提供程序存储自身数据的默认位置。 注意 :默认帐户被授予对文件夹的完全访问权限。如果碰巧要改变帐户,一定要确保新帐户被授予对该文件夹的读/写访问权。 21、文件是一个XML文本文件,它用来储存 应用程序的配置信息(如最常用的设置 应用程序的身份验证方式),它可以出现在应用程序的每一个目录中。当你通过.NET新建一个Web应用程序后,默认情况下会在根目录自动创建一个默认的文件,包括默认的配置设置,所有的子目录都继承它的配置设置。如果你想修改子目录的配置设置,你可以在该子目录下新建一个文件。它可以提供除从父目录继承的配置信息以外的配置信息,也可以重写或修改父目录中定义的设置。 22..参考《从基础到实践》P286. 23. 标签的 alt 属性指定了替代文本,用于在图像无法显示或者用户禁用图像显示时,代替图像显示在浏览器中的内容。 trols 命名空间 程序集: (在 中) trols 命名空间包含一些类,可使用这些类在网页上创建 Web 服务器控件。 Web 服务器控件运行在服务器上,并且包括按钮和文本框等窗体控件。 它们还包括具有特殊用途的控件(例如日历)。 由于 Web 服务器控件运行在服务器上,因此可以以编程方式来控制这些元素。 尽管 Web 服务器控件呈现为 HTML,但它们的对象模型不一定反映 HTML 语法。

trols 命名空间包含一些呈现为 HTML 标记的类,如 TextBox 控件和 ListBox 控件。 该命名空间还包含一些不在网页上呈现、但支持数据操作的类,如 SqlDataSource 类和 ObjectDataSource 类。 其他一些控件(如 GridView 控件和DetailsView 控件)支持数据显示和编辑。 该 WebControl 类用作 trols 命名空间中许多类的基类。 25 DataKeyField="productId" 列表项的主键是productId using System; using trols; using 开头的using指令,它引用了System的命名空间,命名空间提供了一种分层的方式来组织以C#程序和库。 26、rowspan,是HTML语言中的一个对象属性。通常使用在td与th标签中,可以实现表格中一列跨越多行。 27 DIV元素是用来为HTML文档内大块(block-level)的内容提供结构和背景的元素。DIV的起始标签和结束标签之间的所有内容都是用来构成这个块的,其中所包含元素的特性由DIV标签的属性来控制,或者是通过使用样式表格式化这个块来进行控制。 28、 Href:超文本引用(hypertext reference) eval() 函数:计算某个字符串。eval是只读数据,bind是可更新的. 可将字符串转换为代码执行,并返回一个或多个值。 打开一个新的窗户。 28 标签被用来组合文档中的行内元素。使用 来组合行内元素,以便通过样式来格式化它们。 29 CSS盒子模型

(CONTENT)就是盒子里装的东西; 而填充(PADDING)就是怕盒子里装的东西(贵重的)损坏而添加的泡沫或者其它抗震的辅料; 边框(BORDER)就是盒子本身了;至于边界(MARGIN)则说明盒子摆放的时候的不能全部堆在一起,要留一定空隙保持通风,同时也为了方便取出。在网页设计上,内容常指文字、图片等元素,但是也可以是小盒子(DIV嵌套),与现实生活中盒子不同的是,现实生活中的东西一般不能大于盒子,否则盒子会被撑坏的,而CSS盒子具有弹性,里面的东西大过盒子本身最多把它撑大,但它不会损坏的。 30 css是英文Cascading Style Sheets的缩写。 p { border-style:solid; border-right:thick double #ff0000; } Solid 实线 Thick 厚的,粗的

32 protected void lbtnFirstPage_Click(object sender, EventArgs e) { }在写代码前我们先来熟悉.net框架中和事件有关的类和委托,了解C#中预定义事件的处理。 EventArgs是包含事件数据的类的基类,用于传递事件的细节。 前面的object用来传递事件的发生者,后面的EventArgs用来传递事件的细节, 33 public partial class Main : 就是声明一个类的定义,表示这个类继承自 34 #region指令 使用#region就是将一些有关联的代码组织在一起,然后折叠起来。这样你就在一个函数中看不到很长的令人头痛的代码段。 35只需要加载一次的代码放在if(!IsPostBack)中。 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="" Inherits="" %> 优购商城

' alt='<%#Eval("productName") %>' style="width: 100px; height: 130px" /> 名称: <%#Eval("productName") %>
价格: <%#Eval("price") %>元
折扣: <%#Eval("discount") %>折优惠
立即购买

首页 上页 / 下页 尾页 后台关键代码如下: using System; using trols;

using namespace Bonnet { public partial class Main : { public static PagedDataSource pds = new PagedDataSource(); // 分页用数据集 #region 【页面初始化】 ///

/// 页面初始化 /// /// /// protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) //只需要加载一次的代码 { CategoryBind(); // 分类信息数据绑定 aging = true; // 允许分页 tPageIndex = 0; // 设置当前页索引为0,即首页索引为0 ze = 4; // 单页显示项数 ProductBind(); } } #endregion #region 【分类信息处理】 /// /// 分类信息数据绑定 /// private void CategoryBind() { (); //clear 函数;清除并发队列,销毁所有当前已排入队列的元素。清除树控件中的所有节点 TreeNode tnCategory = new TreeNode(); = "所有商品"; = "0"; ed = true; //节点可以折叠

(tnCategory); //增加一个根节点 TreeCategoryParentCreate(tnCategory); } ///

/// 树形分类父节点创建 /// /// private void TreeCategoryParentCreate(TreeNode tnCategory) { string strSql = "SELECT * FROM t_Category WHERE categoryPid = 0"; DataTable dt = (strSql); foreach (DataRow dr in ) //foreach 语句用于循环访问集合以获取所需信息 { TreeNode ptn = new TreeNode(); = (string)dr["categoryname"]; = dr["categoryid"].ToString(); ed = true; (ptn); TreeCategoryChildCreate(ptn); } } /// /// 树形分类子节点创建 /// /// private void TreeCategoryChildCreate(TreeNode tnCategory) { string strSql = "SELECT * FROM t_Category WHERE categoryPid = '" + + "'"; DataTable dt = (strSql); foreach (DataRow dr in ) { TreeNode ptn = new TreeNode(); = (string)dr["categoryname"]; = dr["categoryid"].ToString(); ed = true; (ptn); TreeCategoryChildCreate(ptn); } } /// /// 树形分类节点变更处理

///

/// HTML 标签,向 HTML 代码添加一个对象: /// protected void tvCategory_SelectedNodeChanged(object sender, EventArgs e) //前面的object用来传递事件的发生者,后面的EventArgs用来传递事件的细节, { TreeNode tn = edNode; //获取表示 TreeView 控件中选定节点的 TreeNode 对象。 Session["categoryValue"] = //当您操作某个应用程序时,您打开它,做些改变,然后将它关闭。这很像一次对话(Session)。Session 对象用于存储关于用户的信息,或者为一个用户的 session 更改设置。 Session["categoryText"] = ct("~/?categoryid=" + ); } #endregion #region 【商品信息处理】 /// /// 商品数据绑定 /// private void ProductBind() { string strSql = //字符串的初始化 if (tring["category"] != null) { string category = tring["category"].ToString(); if (tring["text"] == null) { if (category == "0") { strSql = "SELECT * FROM t_Product A, t_Image B WHERE d = d"; } else { strSql = "SELECT * FROM t_Product A, t_Image B WHERE d = d AND ryid=" + category + ""; } } else

{ string text = tring["text"].ToString(); if (category == "0") { strSql = "SELECT * FROM t_Product A, t_Image B WHERE d = d AND tname LIKE '%" + text + "%'"; } else { strSql = "SELECT * FROM t_Product A, t_Image B WHERE d = d AND ryid=" + category + " AND tname LIKE '%" + text + "%' "; } } } else { if (0 == 32(tring["categoryid"])) { strSql = "SELECT * FROM t_Product A, t_Image B WHERE d = d"; } else { int categoryid = 32(tring["categoryid"]); strSql = "SELECT * FROM t_Product A, t_Image B WHERE d = d AND ryId IN " + "(SELECT categoryId FROM t_category WHERE categoryId = '" + categoryid + "' OR categoryPid = '" + categoryid + "')"; } } DataTable dt = (strSql); urce = tView; urce = pds; nd(); // 分页处理 d = !tPage; // 当前页 为 首页的场合,首页按钮不可用 d = !tPage; // 当前页 为 首页的场合,上页按钮不可用

d = !Page; // 当前页 为 尾页的场合,下页按钮不可用 d = !Page; // 当前页 为 尾页的场合,尾页按钮不可用 = ng(tPageIndex + 1); // 当前页 为 首页的场合,tPageIndex的值会为0,所以要+1 = ng(); } #endregion #region 【首页按钮押下处理】 ///

/// 首页按钮押下处理 /// /// /// protected void lbtnFirstPage_Click(object sender, EventArgs e) { tPageIndex = 0; // 首页的场合,设置tPageIndex为0 ProductBind(); } #endregion #region 【上页按钮押下处理】 /// /// 上页按钮押下处理 /// /// /// protected void lbtnPrevPage_Click(object sender, EventArgs e) { tPageIndex -= 1; ProductBind(); } #endregion #region 【下页按钮押下处理】 /// /// 下页按钮押下处理

///

/// /// protected void lbtnNextPage_Click(object sender, EventArgs e) { tPageIndex += 1; ProductBind(); } #endregion #region 【尾页按钮押下处理】 /// /// 尾页按钮押下处理 /// /// /// protected void lbtnLastPage_Click(object sender, EventArgs e) { tPageIndex = unt - 1; ProductBind(); } #endregion } }

网站开发 asp.net 还要学什么