asp.net(class0625)

1 SiteMapPath 面包屑导航控件

要想使用这个控件,必须创建一个站点地图,也就是 web.sitemap

web.sitemap是一个xml文件:

根节点必须是:<siteMap> 并且在根节点下只能有一个<siteMapNode>节点表示网站的首页.在这个<siteMapNode>下面就可以包含多个<siteMapNode>节点了,只需要体现网站结构层次就行了.

<siteMapNode>属性:  url 表示该节点所代带的网页地址

title 在SiteMapPath控件上显示的内容

description 鼠标放到节点上,所显示的内容

2 SiteMapPath属性:

PathSeparator 分隔符

ParentLevelsDisplayed 显示几层父节点

如果用动软生成代码后,又在模型层用添加了(修改了)用对象作为属性(外键的处理),而要修改下面3个地主:

数据库访问层:

1 Add方中使用到的该属性

2 updagte方中使用到的该属性

3 GetModel方法中使用到该属性的地方

业务逻辑层

1 DataTableToList方法中使用到该属性的地方

用户输入的年龄必须大于等于18岁

用户注册 用户表 Users

c/s dataGridView在绑定时,只能绑定一层属性

UI:

业务逻辑:

AddUser(User user)

{

首先调用GetUserByUserName(user.name);

AddUser();

数据库访问层:

GetUserByUserName(string userName)

AddUser(User user)

{

对于插入一条记录的这个方法,就只做插入就行了.不需要用         用户名是否存在的判断

}

Delete(string userName)

Update(User user)

数据绑定控件( 通过绑定的方法向用户展示数据):ListView GridView DataList

数据源控件(读取数据,并把数据提供数据绑定控件):ObjectDataSource XmlDataSource

数据绑定有两种方法:

第一种手动写代码绑定:

1) 先控得数据的集合

2) 把集合赋给相关的数据绑定控件的DataSource属性,然后执行该控件的DataBind

第二种使用数据源控件绑定

1) 首先你拖一个数据源控件,如ObjectDataSource

2) 设置数据绑定控件(GridView)的DataSourceID为相关的ObjectDatasource

注意:以上两种绑定方式不能同时使用(一个控件不能即对DataSource赋值,又对DataSourceID赋值),如果我们先给控件赋了一个DataSourceID,在用户点击某一个按钮后又想使用手写代码绑定,那么在对DataSource赋值之前,一定要先对DataSourceID赋null

如果想在GridView隐藏一列的值(比如主键),那么请添加一个模板列,然后在这个模板列中放一个Label,然后就可以隐藏这一列了,在后台代码可以通过FindControl来找到隐藏在模板列中的Label

在GridView中进行数据绑定时,设置Columns属性指定显示的数据列:

绑定列时有以下几种类型:

BoundField:用于展示某个字段

CheckBoxField:用于展示数据库中的bit类型(实体类中bool),他以一个CheckBox控件给用户展示

RowCommand事件:当控件中有任何控件触发事件的时候,都会触发这个事件.

在GridView中,当一个按钮的CommandName为:

1) Edit的时候,那么点这个按钮,就会触发GridView编辑事件

2) Cancel的时候, 那么点这个按钮,就会触发GridView 取消编辑事件

3) Update的时候, 那么点这个按钮,就会触发GridView 更新编辑事件

4) Delete的时候, 那么点这个按钮,就会触发GridView 删除编辑事件

获取GridView控件上的数据:

1) 如果是BoundField绑定,并且当前未处于可编辑状态:

GridView1.Rows[行索引].Cells[列索引].Text;

2) 如果是BoundField绑定,并且当前处于可编辑状态:就可以通过以下代码获得该控件:

GridView1.Rows[GridView1.EditIndex].Cells[1].Controls[0]

获得后,返回值是一个Control类型,你可以从界面上看出其实是TextBox还是CheckBox等控件,然后强转,假如是TextBox就写以下代码:

((TextBox)GridView1.Rows[GridView1.EditIndex].Cells[1].Controls[0])

3)如果是模板列,通一使用FindControl来找到该控件

GridView的EditIndex属性:指示当前哪一行处于编辑状态,如果没有任何一行处于编辑状态,则EditIndex=-1

向前端输出js代码使用下面两种方法:

1)在显示用户控件前显示

Page.ClientScript.RegisterClientScriptBlock(this.GetType(), Guid.NewGuid().ToString(),

"alert(‘mydelete‘);", true);

2) 在显示完用户控件后执行的js脚本             Page.ClientScript.RegisterStartupScript(this.GetType(), Guid.NewGuid().ToString(),

"alert(‘mydelete‘)", true);

如果想在GridView中绑定一个对象的属性的属性(外键).那么请添加一个模板列,在模板列通过Eval来绑定

使用ObjectDataSource进行数据绑定并且在ObjectDataSource指定了更新的业务逻辑层方法,当用户点击更新时,事件的调用顺序为:

1) 控件的  GridView1_RowUpdating 在这个事件,通过参数e可以得到用户在界面上更新前与更新后的值.当然如果要在这个e中获得值,值的绑定必须是Bind绑定

2) 数据源控件的 ObjectDataSource1_Updating   这时候参数e中存数模型

3) 调用业务逻辑层的方法

4) 数据源控件的ObjectDataSource1_Updated

5) 控件的 GridView1_RowUpdated

在4)和5)的事件,可以判断e.Exception是否为空来知道在调用业务逻辑层时是否出现了异常,如果已处理该异常,不希望些异常继续抛出,需要设置  e.ExceptionHandled = true;

定单表如何设计:

假如说张三买了3本不同名的书

定单表:

Id  UserId BookId Count UnitPrce Date           state   Address

1   zs      1       1     1       2011-06-23      0    海淀软件园

2   zs      2       1     1       2011-06-23      0    海淀软件园

3   zs      3       1     1       2011-06-23      0    海淀软件园

4   ls      2       1     1       2011-06-24      0    保定

5 zs       6      1      1    2011-06-24         0     邯郸

主表中:

单号(主键)    用户id  购买日期   发货地址   总金额  状态(0未发货,1已发货)

0001          zs      2011-06-23  北京       100     0

明细表(单号和Item做组合键)

单号(外键)  item    BookId  数量

0001        1     1       1

0001        2     2       1

0001        3     3       1

采用Session来验证用户是否登录.

如果用户登录成功,则把用户的信息存储到Session[“currUser”]

其他页面如何知道当前用户是否登录成功:就判断Session[“currUser”]是否存在就可以了.如果存在,说明已登录,否则说明未登录!

什么时候使用用户控件:

当我们在我们的网站中,重复的用到某一个功能块时,并且这些功能块在各各页面上的位置不同或者各各页面的布局不同,这样就不能使用母板页,可以使用用户控件来实现重用.

用户只能浏览放有用户控件的网页,不能直接浏览用户控件.

用户控件中可以再放用户控件,但一定要注意,用户控件不能嵌套放.

登录实现记住我:

我们需要在用户的电脑上存什么上?

//////用户名和密码

两种解决方法:

第一种:

在数据库的Users表中加一个字段叫akey,当用户点击记住我登录时,产生一个Guid,然后放入数据akey,并把akey写入客户端cookie中.下次只需要读出cookie中的akey,就可以从数据库中查找到该用户.

我有两台电脑:在 A上登录,产生一个akey      在B电脑上登录,并且也选择记住我,又产生一个akey

第二种:

我把用户名和密码存到客户端.

设从数据库中读出的用户的密码为p

随机产生两个字符key

加密密码:         key+md5(key+md5(p))

高率分页:

设页大小为 PageSize=10

PageNumber

第1页的数据:1   10

第2页的数据:11  20

第3页的数据:21  30

第n页的数据: (n-1)*PageSize+1      n*PageSize

3

select top PageSize * from books where books.id not in

(

select top ((PageNumbe-1)r*PageSize)  * from books;

)

select * from

(select *,Row_Number() over(order by id) rownumber from books ) t

where t.rownumber>[email protected] and t.rownumber<[email protected]

服务按钮控件有一个PostBackUrl属性,如果不设置这个属性,点击这个按钮默认情况下是回发到本页.如果我们想通过Post的形向其他页面或其他语言写的web提交数据,就可以设置PostBackUrl属为要提到数据的网址.按钮一旦设置了PostBackUrl之后,点击这个按钮就会把当前页面上的数据提交到指定网址.

如果一个按钮设置PostBackUrl属性,那当我们当击这个按钮时,这个按钮的服务器端事件的代码不会立即触发.

当在跨页提交的这个页中代码,第一次访问到Page.PreviousPage属性时,会转交上一个页面,执行上一个执行的按钮事件.

跨页面取值时用以下代码:

if (Page.PreviousPage != null)

{

if (Page.PreviousPage.IsCrossPagePostBack == true)

{

Label1.Text= ((TextBox)Page.PreviousPage.FindControl("TextBox1")).Text;

}

}

母板页也是一个控件

asp.net(class0625),布布扣,bubuko.com

时间: 2024-08-07 04:33:45

asp.net(class0625)的相关文章

大家好

http://www.yugaopian.com/people/259723 http://www.yugaopian.com/people/259744 http://www.yugaopian.com/people/259783 http://www.yugaopian.com/people/259824 http://www.yugaopian.com/people/259839 http://www.yugaopian.com/people/259933 http://www.yugao

阿哥吗卡怪每次哦阿哥看啦过啦嘎开吃麻辣个啊蓝光

http://www.xx186.com/web/web_kpic.asp?id=156613http://www.xx186.com/web/web_kpic.asp?id=156608http://www.xx186.com/web/web_kpic.asp?id=156605http://www.xx186.com/web/web_kpic.asp?id=156602http://www.xx186.com/web/web_kpic.asp?id=156600http://www.xx18

风格更家霍建华

http://www.9ku.com/fuyin/daogaoo.asp?dgid=119864http://www.9ku.com/fuyin/daogaoo.asp?dgid=119867http://www.9ku.com/fuyin/daogaoo.asp?dgid=119876http://www.9ku.com/fuyin/daogaoo.asp?dgid=119879http://www.9ku.com/fuyin/daogaoo.asp?dgid=119883http://www

,了可美军以本合同个v分

http://shike.gaotie.cn/zhan.asp?zhan=%A1%FE%CE%F7%B0%B2%B8%B4%B7%BD%B5%D8%B7%D2%C5%B5%F5%A5%C6%AC%C4%C4%C0%EF%C2%F2Q%A3%BA%A3%B1%A3%B1%A3%B2%A3%B7%A3%B4%A3%B0%A3%B1%A3%B1%A3%B7%A3%B5%A1%F4 http://shike.gaotie.cn/zhan.asp?zhan=%A8%7D%CD%AD%B4%A8%B8%B4

ASP.NET MVC 使用Remote特性实现远程属性验证

RemoteAttribute是asp.net mvc 的一个验证特性,它位于System.Web.Mvc命名空间 下面通过例子来说明 很多系统中都有会员这个功能,会员在前台注册时,用户名不能与现有的用户名重复,还要求输入手机号码去注册,同时手机号码也需要验证是否重复,下面是实体类 /// <summary> /// 会员 /// </summary> public class Member { public int Id { get; set; } [Required(Error

asp.net264简单汽车小程序

转载于我帮你毕业设计 有需要的可以加Q 97095639 文章在www.hongtaibysj.com 上看到,想查看详细的可以自己去查阅 一.技术实现: 开发语言: asp.net, 框架: mvc ,模式:B/S 数据库 : sqlserver , 开发工具: vs sqlserver . 论文字数:1万左右. 二.功能实现: 三.系统截图

搭建连接MySql的三层架构的ASP.NetCore2.0的WebApi

里我们用三层架构搭建一个连接MySql的ASP.netCore模板的WebApi项目 首先添加WebApi项目(ASP.NetCore版本) 右键解决方案>新建项目> 选择Web>ASP.NET Core Web应用程序(.NET Core) 选择Web API 此时的目录结构: 添加实体层Entity 右键添加>新建项目>.Net Core类库 添加后的目录结构 BaseEntity: using System; using System.Collections.Gener

微微信.NET:开源的ASP.NET微信公众号应用平台

题记: 平时喜欢使用 C# 编程,近半年玩微信公众平台,看到一些微信的应用系统大多是PHP.Python的,于是就有想法做一套开放的 C# ASP.NET的微信应用系统. 微微信.NET  基于ASP.NET的开源微信应用平台  --(面向客户完全开源 永久免费代码更新 游戏和点餐菜单正在完善中 很多功能继续优化) 微微信.NET  系统设计架构         本系统基于文件系统和内存数据库,标准板运行于.NET4,完全版需要单独的服务器或者VPS支持          本系统是一个开源系统,

95后实习生的远程办公体验(asp.net mvc\C#技术栈)

这个月我们做了一件别人看起来很疯狂的事情,就是让一批95后的实习生实行远程办公,效果还不错,于是写此文总结一下. 其实认真算算,我自己的远程工作经验有十年了吧,在北京工作的时候天气不好就申请在家办公,在硅谷的时候每周有三天在家办公,两天去办公室办公.所以我也算得上是远程办公的老司机了吧. 不过,我之前都是对有多年工作经验的老司机才实行远程办公,还从来没有对还未毕业的实习生实行过.老实说,不敢啊,也不放心,况且我在cnblogs博客园呆了十年,还真没见过对还未毕业的实习生实行过远程办公的. 那为什