admin 管理员组

文章数量: 1184232


2024年3月12日发(作者:ruby教程全集)

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.

onselectednodechanged="tvCategory_SelectedNodeChanged">

注意:

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.项目是在开发过程中为了便于管理而运用的代码管理方式,程序员在开发软件时可

以根据各个类的不同功能而将其归类到不同的项目中。而一个或多个项目可以组成一个解

决方案。

17.说白了,项目就是为代码管理提供方便。

18.而代码的运行并不需要.csproj、.之类的文件,所以在开发完成之后生

成的软件或网站中,不会有以上之类的文件。

19.因此:

20.在软件开发中需要项目进行代码管理,

21.而在软件使用中则不需要项目。

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、

target="_blank">

Href:超文本引用(hypertext reference)

eval() 函数:计算某个字符串。eval是只读数据,bind是可更新的.

可将字符串转换为代码执行,并返回一个或多个值。

target="_blank" 打开一个新的窗户。

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="" %>

"/TR/xhtml1/DTD/">

优购商城

onselectednodechanged="tvCategory_SelectedNodeChanged">

RepeatColumns="2" RepeatDirection="Horizontal">

href='?productid=<%#Eval("productId") %>' target="_blank">

'

alt='<%#Eval("productName") %>' style="width: 100px; height: 130px" />

名称:

<%#Eval("productName") %>

格:

<%#Eval("price") %>元

#0000cc">折扣:

<%#Eval("discount") %>

折优惠

border-top: #00cc00 1px solid; font-size: 11pt;

border-left: #00cc00 1px solid; border-bottom:

#00cc00 1px solid">

href='?productId=<%#Eval("productId") %>'>立即购买


runat="server">首页  

runat="server">上页

runat="server"> / 

runat="server">

runat="server">下页  

runat="server">尾页

后台关键代码如下:

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; // 允许分页

引为0

tPageIndex = 0;

ze = 4;

ProductBind();

}

}

#endregion

#region 【分类信息处理】

///

/// 分类信息数据绑定

///

// 设置当前页索引为0,即首页索

// 单页显示项数

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

}

}


本文标签: 文件 代码 控件 用来 页面